¿Cómo conservar las comillas dobles en $ @ en un script de shell?
Digamos que tengo un script de shell realmente simple 'foo':
#!/bin/sh
echo $@
Si lo invoco así:
foo 1 2 3
Felizmente imprime:
1 2 3
Sin embargo, supongamos que uno de mis argumentos incluye comillas dobles y contiene espacios en blanco:
foo 1 "this arg has whitespace" 3
foo felizmente imprime:
1 this arg has whitespace 3
¡Las comillas dobles se han eliminado! Sé que Shell cree que me está haciendo un favor, pero ... Me gustaría llegar a la versión original de los argumentos, sin ser molestado por la interpretación de Shell. ¿Hay alguna manera de hacerlo?