我正在评估某些变量是否与预期值匹配.变量由某个程序在内存中设置,其值可以通过自定义程序从
shell访问.
我正在将shell命令的输出传递给awk以获取我想要的特定字段,然后我想通过perl运行它以查看它是否与预期值匹配.例如,
ysgrp autostart | awk -F\: '{print $1}' | perl -e 'print {"True"} else {print "False"} if /on/'
但是,我收到了perl关于“} else”附近的编译错误的投诉.如何在perl单行中处理if / then / else逻辑?
解决方法
您不能在后缀条件中使用else条件.您可以使用这样的三元条件运算符:
perl -e 'print /on/ ? "True" : "False"'
或者像这样使用显式块:
perl -e 'if ( /on/ ) { print "True" } else { print "False" }'