“echo -n”打印出"-n"。

634

我在脚本中使用 echo 函数遇到了问题:

echo -n "Some string..."
打印
-n Some string...

并移到下一行。在控制台中,它可以正常工作且没有换行符:

Some string...

2
你使用的是哪个 Bourne Shell 实现?如果我在 Bourne Shell 模式下运行 bash,它在这里可以正常工作。另外,你真的在使用 Bourne Shell 作为交互式 shell 的可能性不太大吧? - FatalError
6
在Ubuntu终端中输入以下命令:echo -ne "不换行的文本: "; echo "一些文本"; - zsoltii
我知道这很老,但在Windows 10中,以下命令适用于我,可以添加一个没有换行符的句号:echo | set /p="." - SPlatten
在MacOS(Monterey)上,我在一个以#!/usr/bin/env sh开头的脚本中遇到了这个问题。非常好奇,因为sh和bash都声称它们是“GNU bash,版本3.2.57(1)-release(arm64-apple-darwin21)”。但我证明了它:sh -c“echo -n”会打印出-n,而bash -c“echo -n”则不会。 - lmsurprenant
11个回答

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接