Avoir un script simple:
echo "file: $0"
quand invoqué comme ceci:
bash myscript.sh
ou
./myscript.sh
donne le nom de fichier du script ( file: myscript.sh
) comme prévu
mais quand invoqué:
source myscript.sh
ou
. ./myscript.sh
donne le nom du shell ( bash
) au lieu du nom du fichier de script.
Pourquoi est-ce comme ça?