LINUX.ORG.RU

shell: запретить quote expanding?


0

0

Есть:

# 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?

Спасибо.

anonymous
Ответ на: комментарий от anonymous

su -l USERNAME -c "/test.sh -arg1 '\"hello linux\"' -arg2 \'true\'"

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.