gpt4 book ai didi

bash - echo "-n"不会打印-n?

转载 作者:行者123 更新时间:2023-11-29 08:49:21 25 4
gpt4 key购买 nike

非常相似to this question .

我正在使用 BASH 中的自动脚本迭代一些内容。有时脚本会遇到“-n”,echo 会尝试解释它。

尝试这样做:

 $ POSIXLY_CORRECT=1 /bin/echo -n

 $ POSIXLY_CORRECT=1 /bin/echo "-n"


但它每次都解释参数。

然后这个可行,但它可能会命中字符串中的转义字符,这就是为什么我不想将空字符应用于所有输入并使用 -e。

$ echo -e "\x00-n"
-n

printf 是可能的,但除非没有其他选择(并非所有机器都将 printf 作为实用程序),否则应避免使用。

$ printf "%s" "-n"
-n

那么有没有办法让 echo 打印“-n”?

最佳答案

printf 应该内置在所有的 shell 中,除非你的某些机器有非常旧的 shell 版本。很长一段时间以来,它一直是 bash 的内置功能。它可能比 echo -e 更便携。

否则,真的没有办法获得它关心的 echo 选项。

编辑:来自an answer另一个类似的问题;通过使用这个方便的 no-digital-rights-retained 包装器避免 printf 的引用问题:

ech-o() { printf "%s\n" "$*"; }

(这是 ech-o,如“无选项”)

关于bash - echo "-n"不会打印-n?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13258664/

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