Potrzebuję napisać skrypt bash, który między innymi powinien przekazać wszystkie swoje argumenty w stanie nienaruszonym do innego programu.
Minimal przykład:
$ cat >proxy.sh #!/bin/bash ./script.sh [email protected] ^D $ chmod +x proxy.sh $ cat >script.sh #!/bin/bash echo one $1 echo two $2 echo three $3 ^D $ chmod +x script.sh
to naiwne podejście nie działa dla argumentów ze spacjami:
$ ./proxy.sh "a b" c one a two b three c
Oczekiwany:
$ ./proxy.sh "a b" c one a b two c three
Co powinienem napisać w proxy.sh
do tego, aby zdarzyć?
Zauważ, że nie mogę używać aliasów, proxy.sh
musi być skryptem - robi pewne rzeczy przed wywołaniem script.sh
.
- czy to literówka? Co miałeś na myśli? – Mehrdad
"... powinien * przekazać * wszystkie swoje argumenty ..." Naprawiono, przepraszam. –