我正在用 bash 编写一个 collectd nagios 自定义检查脚本。我遇到的问题是 nagios 将主机名显示为 host.name.domain 但 collectd 将 WSP 文件保存为 host_name_domain。我的问题是如何使变量将从 nagios (host.name.domain) 获取的主机名转换为 collectd 格式 (host_name_domain)。
这是必须发生转换的部分。所以 WSP_PATH 会在变量 $NHOST 中给出主机名的 collectd 格式
WSP_PATH=/var/lib/carbon/whisper/ctd/$NHOST/uptime/uptime.wsp
Run Code Online (Sandbox Code Playgroud)
小智 13
Bash 内置了所需的功能(除非它是一个古老的版本):
WSP_PATH=/var/lib/carbon/whisper/ctd/${NHOST//./-}/uptime/uptime.wsp
Run Code Online (Sandbox Code Playgroud)