Ничего шебанг не говорит оболочке. Для оболочки это просто комментарий.
не могу с этим согласиться: если вызываешь скрипт как bash script.sh - то вероятно так оно и будет, но, если вызов идёт из текущей оболочки ./script.sh, то в этой строке будет задан интерпретатор. Небольшой пример:
#!/usr/bin/python3
print(123)
При выполнении ./script.sh с данным содержимым, программа напечатает 123
не могу с этим согласиться: если вызываешь скрипт как
bash script.sh
- то вероятно так оно и будет, но, если вызов идёт из текущей оболочки./script.sh
, то в этой строке будет задан интерпретатор. Небольшой пример:При выполнении
./script.sh
с данным содержимым, программа напечатает 123