[Comm] Shell quoting and $*
Alexey Tourbin
at на altlinux.ru
Пт Апр 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
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.org/pipermail/community/attachments/20060414/974cda99/attachment.bin
Подробная информация о списке рассылки Community