Если вы оставите ее, то оболочка не удастся, если он пытается EXEC () его. Что произойдет дальше, зависит от оболочки, которые вы используете в качестве вашего логина корпуса. Большинство снарядов будет предположить, что сценарий написан на их родном языке. Так что если вы используете Bash, как ваш логин корпуса и попробуйте запустить скрипт оболочки Korn, которые не имеют #! / USR / BIN / KSH, затем Bash будет пытаться запустить его в качестве сценария Bash. Баш и KSH несколько совместимы и могут работать. С другой стороны, она может потерпеть неудачу.
Предположим, вы используете KSH, как ваш логин и оболочки вы работаете Korn скриптов без этой первой линии. Вещи, похоже ОК. Тогда вы решите попробовать Баш как оболочку входа. Неожиданно вещи перерыва.
И вещи будут особенно мрачным для тех, кто использует csh / tcsh качестве логина корпуса и запускает скрипты, что без первой строки. Эти снаряды проверить скрипт, чтобы попытаться угадать ли они или старые Bourne оболочки необходимо запустить его. Тест они работают настолько плохо, что он может быть избит один генератор случайных чисел. И никто до сих пор использует старый Bourne оболочки в любом случае.
И да, это своего рода стандарт. Большинство ядер знаю об этом. Но я не верю, что является официальным
POSIX стандарту.