gpt4 book ai didi

linux - 可以让 awk 使用 `exit 2` 退出 bash 脚本吗?

转载 作者:太空宇宙 更新时间:2023-11-04 04:36:45 27 4
gpt4 key购买 nike

根据 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com