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