为什么“echo --help”不给我 echo 的帮助页面?

为什么“echo --help”不给我 echo 的帮助页面?

我在 Bash 中尝试了“man echo”,它告诉我“echo --help”将显示帮助然后退出,同样,“echo --version”将输出版本并退出。但为什么它不起作用呢? 'echo --help' 只是简单地按字面打印 '--help' 。

答案1

man echo涉及到echo程序。 GNUecho 支持一个--help选项,就像其他一些选项一样。当你echo在 Bash 中运行时,你会得到它内置的echo但事实并非如此。

要访问该echo程序而不是内置程序,您可以给出它的路径:

/bin/echo --help

或使用 Bash 的enable命令禁用内置版本:

$ enable -n echo
$ echo --help

Bash 具有许多基本命令的内置版本,因为这样做速度更快一些,但在需要时您始终可以这样绕过它们。

答案2

除了其他答案之外,您还可以使用

$ help echo

也可以查看内置echo命令的简短帮助。

答案3

您正在使用echobash 的内置命令,它不理解该--help选项。使用:

/bin/echo --help

要查看内置的帮助echo,请使用man bash并搜索echo

答案4

我需要编写一个 tcsh shell 脚本,echo -ne其中包含命令。

/bin/echo --help

要获得完整的文档,请运行:info coreutils 'echo incalling'

info coreutils 'echo invocation'

由于 shell 别名和内置命令的原因,以交互方式或在脚本中echo使用原始命令可能会获得与此处描述的功能不同的功能。echo通过(即“env echo ...”)调用它env以避免来自 shell 的干扰。

因此,解决方案是env在脚本中添加 echo 命令。例如:

env echo -ne 'Hello\r'

相关内容