Ubuntu厨师食谱条件需要吗

Ubuntu厨师食谱条件需要吗,ubuntu,cookbook,Ubuntu,Cookbook,我必须说以下几句话: 执行“hostname-f>>/etc/mail/local host names”do 命令“主机名-f>>/etc/mail/local主机名” 结束 我想添加一个条件,以防文件中已经存在主机名,并且命令不应再次在文件中添加主机名 /etc/mail/local主机名可能包含其他主机名,覆盖不是解决方案 谢谢大家! 您应该使用bash脚本和grep命令。Grep命令在找到名称时返回0,在未找到名称时返回1。(#在bash中声明一条注释)。此外,必须将变量$HOSTNAM

我必须说以下几句话:

执行“hostname-f>>/etc/mail/local host names”do 命令“主机名-f>>/etc/mail/local主机名” 结束

我想添加一个条件,以防文件中已经存在主机名,并且命令不应再次在文件中添加主机名

/etc/mail/local主机名可能包含其他主机名,覆盖不是解决方案


谢谢大家!

您应该使用bash脚本和grep命令。Grep命令在找到名称时返回0,在未找到名称时返回1。(#在bash中声明一条注释)。此外,必须将变量$HOSTNAME设置为每次要查找的所需主机名

#!bin/sh


if grep -Fxq "$HOSTNAME" /etc/mail/local-host-names
then
    # execute "hostname -f >> /etc/mail/local-host-names" do command "hostname -f >> /etc/mail/local-host-names" end
else
    #do nothing?
fi

谢谢你,塞斯特斯。但这不是bash脚本。它很有用,但现在对我来说没那么有用了。这些行必须遵守食谱的语法。