根据 awk 脚本内的某些条件,我需要从 awk 脚本获取退出代码并将其传递给 bash 脚本,以便它可以退出,例如退出 2
。
如果我从 awk 调用 system("exit 2")
,则 bash 脚本仍会以 0
退出。
问题
有什么想法可以将 $code
的值从 awk 获取到 bash 脚本吗?
#!/usr/bin/bash
# ...
awk '{
# ...
code=2
# ...
}' /proc/loadavg
exit $code
最佳答案
下面是一个 shell 脚本示例:
awk -v code="2" 'BEGIN{exit code}'
shell_code=$?
echo $shell_code #just for seeing the code
exit $shell_code
上面的shell脚本将退出2,awk的变量code
中的值
awk 单行语句也可以与输入文件一起使用,例如:
awk 'BEGIN{code=2} {if (something happens) exit code}' file
但是我认为你可以让 awk 输出一些值而不是退出
一个值。然后将此 awk 输出分配给 shell 变量。您可以在 shell 脚本中决定是否要使用哪个值退出 shell 脚本,具体取决于 awk 输出。
关于linux - 可以让 awk 使用 `exit 2` 退出 bash 脚本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50531539/