[Comm] Shell quoting and $*

Vitaly Ostanin vyt на vzljot.ru
Пт Апр 14 18:28:48 MSD 2006


Здравствуйте.

Скажите, пожалуйста, как можно в shell скрипте экранировать
аргументы при передаче в программе? Да, вопрос тупой, однако:

$ touch 'test 1'
$ touch 'test 2'
$ echo 'ls $*' > test.sh
$ chmod +x test.sh
$ ./test1.sh "test 1" "test 2"
ls: test: No such file or directory
ls: 1: No such file or directory
ls: test: No such file or directory
ls: 2: No such file or directory

Следующий вариант скрипта тоже не работает:
unset $arg
while [ "$1" != "" ]; do
   arg="$arg '$1'"
   shift
done;
ls $arg

$ ./test.sh "test 1" "test 2"
ls: 'test: No such file or directory
ls: 1': No such file or directory
ls: 'test: No such file or directory
ls: 2': No such file or directory

-- 
Regards, Vyt
mailto:  vyt на vzljot.ru
JID:     vyt на vzljot.ru

----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 254 байтов
Описание: OpenPGP digital signature
Url     : http://lists.altlinux.org/pipermail/community/attachments/20060414/7e21ea78/attachment.bin 


Подробная информация о списке рассылки Community