我正在编写一个简单的 shell 脚本,发现我的 shell 脚本不需要 shebang 行
#!/bin/sh
如果我为我的脚本授予执行权限并使用./myscript.sh
. 它运行良好。
我正在使用bash
shell,/bin/sh
实际上是指向bash
.
lrwxrwxrwx 1 root root /bin/sh -> bash
我知道 shebang 行用于告诉 shell 哪个解释器用于脚本的其余部分。
如果我错过了 perl 中的 shebang 行,请授予执行权限并运行./myscript.pl
,它不起作用。
这里到底发生了什么?如果我使用./
,什么时候真正需要 shebang 线?