我對 Mac OS 完全陌生,我正試圖弄清楚如何在終端中顯示所有echo命令標志。當我這樣做時 man echo,它只向我顯示一個標志,-n我很確定還有更多標志。我用谷歌搜索了它,但什么也沒找到。
先謝謝了!
uj5u.com熱心網友回復:
對于 shell 內置echo函式,例如,手冊頁沒有提供準確的描述,因為它描述的是二進制檔案(通常在 中找到/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!這不是必需的,但它通常會過濾掉錯誤的命中。
uj5u.com熱心網友回復:
echo 是你的 shell 的一個函式,如果你有一個不同的 shell,它的行為會有所不同。zsh 或更多“高級”shell 可能支持額外的 args,但我沒有聽說過比 -n(洗掉尾隨的換行符)要回顯的其他 args。
macos 比 linux 更接近 freebsd,并且它與 bash(Bourne 又是 Shell)捆綁在一起,但在正常情況下,您應該只假設 sh 或 ash(在 Alpine 中)可用。例如,雖然您可以在不同的 shell 中為 echo 使用額外的標志,但您不應該期望該 shell 在目標系統上可用或默認。
我認為找出你想要什么的更好方法是谷歌你想要回聲做什么,并且可能會有很多方法描述如何在回聲之外執行該操作(printf、cat、tee 或類似的)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/370959.html
