[Comm] Shell quoting and $*
Vitaly Ostanin
=?iso-8859-1?q?vyt_=CE=C1_vzljot=2Eru?=
Пт Апр 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-0003.bin>
Подробная информация о списке рассылки community