【发布时间】:2021-01-30 08:52:22
【问题描述】:
我正在尝试查找此脚本中使用的 ${RESULT} 中的哪种值;
#!/bin/ksh
...
echo ${RESULT}|awk '{if ($0 ~ /RUNNING mode/) {print "STATUS=0"; print "PID="'${PID}'; print "INFO="$0; print '$PID' > "'${INSTALLDIR}/domain'/sample_pid.txt"} else {print "STATUS=1"; print "PID=-1"; print "INFO="$0} }'
可能导致此输出:
awk: cmd. line:1: {if ($0 ~ /RUNNING mode/) {print "STATUS=0"; print "PID="27708
awk: cmd. line:1: ^ unexpected newline or end of string
我尝试将许多特殊字符组合放入 ${RESULT} 中,但从来没有问题。无论如何我可能会重写命令,但我很好奇 ${RESULT} 既可以作为教育点,也可以帮助我重现从测试系统报告给我的错误,否则我没有能够繁殖。
谢谢!
【问题讨论】:
-
您可以轻松调试它。使用标准的方式将shell变量传递给awk,不是这样的。见:stackoverflow.com/questions/19075671/…
-v pid="$PID"等