¿Alguien puede explicarme qué hace el shell en los dos ejemplos A) y B) a continuación? Obviamente se comporta de manera diferente, pero no puedo descubrir por qué la salida es diferente.
Ejemplo:
Tengamos un script en nuestro directorio actual nombrado bla.sh
con un solo comando:
echo ${0##/*} hello
A)
Comenzó como: ./bla.sh
da:./bla.sh hello
B)
Comenzó como: . bla.sh
da:-bash hello
Como uso esto en una secuencia de comandos, la segunda salida (debido a "-" delante de -bash) mata el comando. Por supuesto, un simple --
antes de la ${...}
ayuda, pero me encantaría entender qué causa la salida en primer lugar.
Me encanta bash Y vi [m]. Pero yo divago…