Alguém pode me explicar o que o shell faz nos dois exemplos A) e B) abaixo? Obviamente, ele se comporta de maneira diferente, mas não consigo descobrir por que a saída é diferente.
Exemplo:
Vamos ter um script em nosso diretório atual nomeado bla.sh
com apenas um comando:
echo ${0##/*} hello
A)
Começou como: ./bla.sh
dá:./bla.sh hello
B)
Iniciado como: . bla.sh
dá:-bash hello
Como eu uso isso em um script, a segunda saída (por causa do "-" na frente do -bash) mata o comando. Claro, um simples --
antes do ${...}
ajudou, mas eu adoraria entender o que causa a saída em primeiro lugar.
Eu amo bash. E vi [m]. Mas eu discordo ...