[Comm] Shell quoting and $*
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Апр 14 21:24:57 MSD 2006
On Fri, Apr 14, 2006 at 06:28:48PM +0400, Vitaly Ostanin wrote:
> Здравствуйте.
>
> Скажите, пожалуйста, как можно в shell скрипте экранировать
> аргументы при передаче в программе? Да, вопрос тупой, однако:
>
> $ touch 'test 1'
> $ touch 'test 2'
> $ echo 'ls $*' > test.sh
ls "$@"
> $ 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
for arg; do
: "$arg"
done
> $ ./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
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/community/attachments/20060414/974cda99/attachment-0003.bin>
Подробная информация о списке рассылки community