您应该在 shell 脚本中使用哪个 Shebang?

您应该在 shell 脚本中使用哪个 Shebang?

抱歉,这可能是一个愚蠢的问题,但我对 shell 脚本还不熟悉。

我有一个名为的文件oem-device-name.sh。我需要为 Zabbix 执行外部检查: https://www.zabbix.com/documentation/5.0/manual/config/items/itemtypes/external

脚本本身只有一行,它只是一个 snmpget 命令:

snmpget -v 1 -c public -Oa -Ov -OQ 172.28.132.44:31161 BSS-RCP-MIB::oem-device-name.0

您应该为我的 snmpget 推荐哪种 Shebang?如果您在文件中写入#!\bin\sh或写入,会有什么不同吗 ?#!\bin\bash.sh

答案1

#!/bin/sh 使用用户当前设置的任何登录 shell。大多数默认使用 bash,但这并不能保证

#!/bin/bash 用于(可预见的)bash 脚本

带有 .sh 后缀的文件有些不推荐使用,而且基本上没有必要 - 只需将脚本命名为你想要的名称即可

如果您使用 bash,请使用 #!/bin/bash,除非您预见到自己(或其他用户)需要使用不同的 shell(如 csh)运行脚本

相关内容