在所有bash脚本中你需要shebang吗?

Rai*_*han 10 bash shell

假设你有一个bash脚本B,你从另一个bash脚本中获取A.B有一堆变量和函数定义.A是主要的驱动程序脚本.你需要A和B顶部的#!/ bin/bash线吗?如果你这样做会发生什么,如果你不这样做?

A.H*_*.H. 19

shebang仅对那些脚本是必需的,这些脚本应由操作系统以与二进制可执行文件相同的方式执行.如果您使用其他脚本,则会忽略shebang.

另一方面.如果一个脚本应该被采购,那么通常不要在开始时放置任何shebang.


Mar*_*ers 10

如果直接将脚本作为可执行文件运行(例如使用该命令./script.sh),则使用shebang .在这种情况下,它告诉操作系统运行哪个可执行文件.

如果您编写bash ./script.sh或获取脚本,则不需要它也没有效果.

  • ...或者当您获取脚本时:) (4认同)
  • 如果您已经在bash提示符下,也不需要它-假定脚本将是bash(其他shell通常也假定脚本也适用于它们) (2认同)