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

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

Апострофы.

./test.sh -arg1 '"hello linux"' -arg2 \'true\'
-arg1 "hello linux" -arg2 'true'

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