Имея простой скрипт:
echo "file: $0"
когда вызывается так:
bash myscript.sh
или же
./myscript.sh
дает имя файла скрипта (file: myscript.sh
), как и ожидалось, но при вызове:
источник myscript.sh
или же
, ./myscript.sh
дает имя оболочки (bash
) вместо имени файла скрипта.
Почему это так?