gpt4 book ai didi

linux - 如何将标准错误重定向到文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:07:30 24 4
gpt4 key购买 nike

在 linux 中,如果我想将标准错误重定向到一个文件,我可以这样做:

$ls -l /bin/usr 2> ls-error.txt

但是当我尝试时:

$foo=
$echo ${foo:?"parameter is empty"} 2> ls-error.txt

终端的结果是:

bash: foo: parameter is empty

没用!有人可以解释为什么吗?我认为 ${parameter:?word} 会将 word 的值发送到标准错误。

最佳答案

echo ${foo:?"parameter is empty"} 2>ls-error.txt重定向echostderr,但是错误消息是由 shell 在展开时产生的${foo:?"参数为空"}

您可以通过重定向 block (或子 shell)来获得您想要的结果,以便在重定向中包含 shell 的标准错误:

{ echo "${foo:?"parameter is empty"}"; } 2>ls-error.txt

关于linux - 如何将标准错误重定向到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43682677/

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