gpt4 book ai didi

bash - zsh 和 bash 的 echo 有什么区别?

转载 作者:行者123 更新时间:2023-12-05 02:49:14 32 4
gpt4 key购买 nike

在 bash 中,在这种特定情况下,echo 的行为如下:

$ bash -c 'echo "a\nb"'
a\nb

但在 zsh 中,同样的事情结果却截然不同......:

$ zsh -c 'echo "a\nb"'
a
b

首先是鱼,因为我很好奇:

$ fish -c 'echo "a\nb"'
a\nb

我确实意识到我可以运行:

$ zsh -c 'echo -E "a\nb"'
a\nb

但现在我担心我会在这种基本操作上陷入更多陷阱。 (因此我对 fish 的调查:如果我必须在如此低的级别上对 zsh 进行更改,为什么不一路走下去并切换到明显与众不同的东西?)

我自己没有找到任何文档来帮助澄清 bash 与 zsh 中的 echo 差异或直接列出差异的页面,所以这里有人可以列出它们吗?也许在进行转换时会指导我解决任何更广泛的潜在影响陷阱,这将涵盖这种情况?

最佳答案

通常更喜欢 printf 以获得一致的结果。

如果您需要可预测的一致 echo 实现,您可以使用您自己的函数覆盖它。

不管 shell 是什么,它的行为都是一样的。

echo(){ printf %s\\n "$*";}
echo "a\nb"

关于bash - zsh 和 bash 的 echo 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64079604/

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