Bashismos
Esto surgió mientras un amigo depuraba un script de backup. Supongamos que creamos un script denominado ./myscript con el contenido siguiente:
echo parametro1 es $1 echo parametro2 es $2
Y luego lo ejecutamos alternativamente con los intérpretes Dash y Bash:
mauro@yoda$ dash $ . ./myscript parametro1 es parametro2 es $ . ./myscript foo bar parametro1 es parametro2 es
mauro@yoda$ bash $ . ./myscript parametro1 es parametro2 es $ . ./myscript foo bar parametro1 es foo parametro2 es bar
¿Se nota la diferencia?
Efectivamente, al utilizar el comando “.” (dot o source) Dash no pasa ningún argumento al script, mientras Bash sí lo hace. ¿Bug o Feature? Según parece, es una implementación estricta del estándar POSIX. En cualquier caso, hasta que nos dimos cuenta, fue un dolor de cabeza.
You must be logged in to post a comment.