我在CentOS下写了一个bash脚本,执行得很好.在另一台电脑上,这是错误的.我刚开始忘记了shebang,但为什么我的电脑好呢?我认为这是一个非常初学的问题,但我试了一下.谢谢.
更新:弹出另一个问题.使用./filename.sh和sh filename.sh执行有什么区别?
脚本开头没有 shebang 会在调用脚本时在当前运行的任何 shell 中执行。如果您确定脚本将从 bash 启动,而不是从任何其他 shell(ksh、csh 等)启动,则不需要 shebang,因为将启动相同的解释器。