Шебанг никогда не заставляет процесс раскошелиться.
Он не делает ничего , если скрипт исполняемый и он вызывается таким же , что это приводит к системе оценки хижины , чтобы увидеть , какую программу / оболочку для выполнения сценария с.
Например, если вы уже работали в bash и выполнили сценарий с помощью команды source
, сценарий будет выполнен внутри оболочки, которую вы в данный момент выполняете, и exit
повлияет на этот процесс оболочки, а не на новый процесс оболочки, который закончился.
Если у вас есть файл сценария, который вы хотите запустить, вы должны сделать его исполняемым с помощью следующей команды:
chmod +x script
Затем, если вы хотите запустить скрипт, и если мы предполагаем, что файл скрипта находится в текущем каталоге, вы используете следующую команду:
./script
Обратите внимание, что это очень отличается от . script
, который является просто сокращенной записью для source script
.
./script
- это относительный путь к файлу сценария, что означает поиск в текущем каталоге, чтобы найти файл сценария «script», а затем выполнить его, что работает только в том случае, если файл сценария является исполняемым.
Если у вас есть файл сценария, который НЕ является исполняемым, вы можете вызвать его с помощью:
bash script
Но в этом случае вы указываете, какую оболочку запускать, а строка shebang игнорируется.