根据awk脚本中的某些条件,我需要从awk脚本中获取退出代码并将其传递给bash脚本,因此它可以退出例如exit 2.
如果我system("exit 2")从awk 调用,那么bash脚本仍会退出0.
题
有什么想法我如何$code从awk到bash脚本获得价值?
#!/usr/bin/bash
# ...
awk '{
# ...
code=2
# ...
}' /proc/loadavg
exit $code
Run Code Online (Sandbox Code Playgroud)
这是一个示例shell脚本:
awk -v code="2" 'BEGIN{exit code}'
shell_code=$?
echo $shell_code #just for seeing the code
exit $shell_code
Run Code Online (Sandbox Code Playgroud)
上面的shell脚本将退出2,即awk变量中的值 code
awk单行也可以用输入文件,例如:
awk 'BEGIN{code=2} {if (something happens) exit code}' file
Run Code Online (Sandbox Code Playgroud)
但是我认为你可以让awk输出一些值而不是exiting值.然后将此awk输出分配给shell变量.您可以在shell脚本中决定是否要退出具有哪个值的shell脚本,直到awk输出.