我对Mac操作系统完全陌生,我正试图弄清楚如何在终端中显示echo
命令的所有标志。当我做man echo
时,它只向我显示一个标志,即-n
,我很确定还有更多。我在谷歌上搜索了一下,但一无所获。
事先谢谢!
对于像echo
这样的shell内置程序,手册页不能提供准确的描述,因为它描述的是二进制(通常在/bin
中找到(,而不是内置程序。
有关Bash中内置命令的帮助,请使用
help echo
例如,在我的macOS版本上,这向我显示:
echo: echo [-neE] [arg ...] Write arguments to the standard output. Display the ARGs, separated by a single space character and followed by a newline, on the standard output. Options: -n do not append a newline -e enable interpretation of the following backslash escapes -E explicitly suppress interpretation of backslash escapes …
在zsh中,最接近的等价物是man zshbuiltins
,它显示了所有内置命令的文档。要在其中查找给定的命令,请键入/ echo
并点击Return。注意,/
和echo
之间有多个空格!这是不必要的,但它通常会过滤掉虚假点击。
echo是shell的一个函数,如果有不同的shell,它的行为会有所不同。zsh或更高级的shell可能支持额外的arg,但我从未听说过其他的arg要回显-n(它删除了后面的换行符(。
macos比linux更接近freebsd,并且它与bash(Bourne又是Shell(捆绑在一起,但在正常情况下,你应该只假设sh或ash(在Alpine中(可用。例如,虽然您可以使用其他shell为echo使用额外的标志,但您不应该期望该shell在目标系统上可用或默认。
我认为,找到你想要什么的更好方法是在谷歌上搜索你想要echo做什么,很可能会有很多方法描述如何在外部echo(printf、cat、tee或类似的方法(。