Я писал простую оболочку script и обнаружил, что моя оболочка script не требует строки shebang
#!/bin/sh
Если я даю разрешения на выполнение для моего script и выполняю с помощью ./myscript.sh
. Он отлично работает.
Я использую bash
shell, а /bin/sh
на самом деле указывает на bash
.
lrwxrwxrwx 1 root root /bin/sh -> bash
Я знаю, что строка shebang используется, чтобы сообщить оболочке, какой интерпретатор использовать для вашего остального script.
Если я пропустил строку shebang в perl, дайте разрешения на выполнение и запустите ./myscript.pl
, это не сработает.
Что на самом деле происходит здесь? Если я использую ./
, когда действительно нужна строка shebang?