gpt4 book ai didi

bash - 为什么 "exit"在我将它通过管道传输到 "tee"时不退出我的脚本?

转载 作者:行者123 更新时间:2023-12-05 05:36:07 25 4
gpt4 key购买 nike

我正在运行一个脚本,该脚本使用 tee 将输出记录到屏幕和文件中:

{ echo "hello world" ; exit 1; } | tee -a logfile.log

exit 不工作。我无法退出脚本。当我删除 tee 时,它起作用了。这是为什么?

最佳答案

如其他地方所述(包括间接地 BashFAQ #24 ),管道创建子 shell ,因此您的 exit 仅退出子 shell 。

您可以通过将管道替换为流程替换的重定向来避免这种情况:

{ echo "hello world"; exit 1; } > >(tee -a logfile.log)

关于bash - 为什么 "exit"在我将它通过管道传输到 "tee"时不退出我的脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73352910/

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