Есть:
# cat test.sh
#!/bin/sh
cat /dev/null > log
echo $@ >> log
cat log
Делаем:
# su -l USERNAME -c "./test.sh -arg1 \«hello linux\» -arg2 \'true\'"
(arg1's value is in double-quotes, arg2's value is in single-quotes)
В log:
-arg1 hello linux -arg2 'true'
Т.е. для значения arg1 исчезли двойные кавычки, надо, что бы переданные аргументы не менялись. Как это сделать и что кроме man можно почитать про quote expanding/escaping в shell?
Спасибо.