Мне нужно написать сценарий bash, который, помимо прочего, должен передавать все свои аргументы в неприкосновенности другой программе.
Минимальный пример:
$ cat >proxy.sh #!/bin/bash ./script.sh $@ ^D $ chmod +x proxy.sh $ cat >script.sh #!/bin/bash echo one $1 echo two $2 echo three $3 ^D $ chmod +x script.sh
Этот наивный подход не работает для аргументов с пробелами:
$ ./proxy.sh "a b" c one a two b three c
Ожидается:
$ ./proxy.sh "a b" c one a b two c three
Что я должен написать в proxy.sh
, чтобы это произошло?
Обратите внимание, что я не могу использовать псевдонимы, proxy.sh
должен быть скриптом - он выполняет некоторые действия перед вызовом script.sh
.