0
我试图在bash脚本中将一个变量传递给nawk
,但它实际上并不打印$commentValue
变量的内容。除了printf语句的最后部分之外,一切都很好。谢谢!在bash中将变量传递给nawk?
echo -n "Service Name: "
read serviceName
echo -n "Comment: "
read commentValue
for check in $(grep "CURRENT SERVICE STATE" $nagiosLog |grep -w "$serviceName" | nawk -F": " '{print $2}' |sort -u) ; do
echo $check | nawk -F";" -v now=$now '{ printf("[%u]=ACKNOWLEDGE_SVC_PROBLEM;"$1";"$2";2;1;0;admin;$commentValue"\n", now)}' >> $nagiosCommand
done
嗯,我修改了命令,但它仍然只是打印单词“commentValue”而不是内容。 echo $ check | nawk -F“;” -v now = $ now -v“commentValue = $ commentValue”'{printf(“[%u] = ACKNOWLEDGE_SVC_PROBLEM;”$ 1“;”$ 2“; 2; 1; 0; admin; commentValue \ n”,now)} '>> $ nagiosCommand – user63019
它应该是:''echo $ check | nawk -F“;” -v now = $ now -v“commentValue = $ commentValue”'{printf(“[%u] = ACKNOWLEDGE_SVC_PROBLEM;”$ 1“;”$ 2“; 2; 1; 0; admin;%s \ n” commentValue)}'>> $ nagiosCommand''。请阅读awk手册中的''printf''文件。 –
Ahhhh,duh。以前我做过,但是最后的结尾是“谢谢! – user63019