我在 shell 中有以下代码。
这没用。所以我不知道我的错误是什么我想知道是否有人可以帮助我
echo $i | awk -F "," '{if(NF == 1) print "Exiting..." system("exit")}'
$i
例如,参数也是如此hi,hello
。如果字段数等于 1,我希望程序退出。
awk 不能强制其父进程退出,但您可以重构代码以便调用 shell 退出。
不过,在这种有限的情况下,您根本不需要 Awk。
case $i in
*,* ) ;; # nothing
* ) echo Exiting... >&2; exit 1;;
esac
您不能通过系统调用 exit,因为 awk 在单独的进程中执行。但是,您可以使用指定的错误代码从 awk 调用 exit,然后根据错误代码退出脚本。例子:
awk -F "," '{if(NF==1){ print "Exiting"; exit -1}}' || exit