Necesito escribir un script bash que, entre otras cosas, debe pasar todos sus argumentos intactos a otro programa.
ejemplo Mínimo:
$ 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
Este enfoque ingenuo no funciona para argumentos con espacios:
$ ./proxy.sh "a b" c one a two b three c
esperado:
$ ./proxy.sh "a b" c one a b two c three
¿Qué debo escribir en proxy.sh
para que esto ¿ocurrir?
Tenga en cuenta que no puedo usar alias, proxy.sh
debe ser una secuencia de comandos, hace algunas cosas antes de invocar script.sh
.
"... debería intactos todos sus argumentos a otro programa." - ¿Es eso un error tipográfico? ¿Qué quisiste decir? – Mehrdad
"... debería * pasar * todos sus argumentos ..." Reparado, lo siento. –