Много сценариев на различных языках имеют a #!/bin/bash
заголовок с путем к интерпретатору, таким образом, они могут быть выполнены без явного вызова к интерпретатору из командной строки.
Но то, что точно читает эту строку и выполняет интерпретатор, является этим оболочка или ядро?
По крайней мере, в Linux, ядро имеет эту функциональность: fs/binfmt_script.c конкретно.
http://www.netmite.com/android/mydroid/cupcake/kernel/fs/binfmt_script.c
Я предполагаю, однако, что некоторые оболочки могут обойти это, и проверять первую строку на строку интерпретатора вместо того, чтобы просто вызвать должностное лицо и позволить ядру понять это.
Ядро читает его. Это использует #! обнаружить, что файл является сценарием и не двоичным файлом и должностными лицами команда, которая следует.
http://en.wikipedia.org/wiki/Shebang_ (Unix), который объясняет #As_magic_number, как он работает вполне прилично.