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