抱歉,这可能是一个愚蠢的问题,但我是 shell 脚本的新手。
我有一个名为oem-device-name.sh
. 我需要对 Zabbix 执行外部检查:
https ://www.zabbix.com/documentation/5.0/manual/config/items/itemtypes/external
脚本本身只有 1 行,它只是一个 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
文件中,它会有所不同吗?
#!/bin/sh 使用用户当前设置的任何登录 shell。大多数默认为 bash 但这不能保证
#!/bin/bash 用于(可预测的)bash 脚本
带有 .sh 后缀的文件在某种程度上已被弃用并且在很大程度上是不必要的 - 只需将脚本命名为您想要的名称即可
如果您使用 bash,请使用 #!/bin/bash,除非您预见自己(或其他用户)需要使用不同的 shell(如 csh)运行脚本