簡體   English   中英

OS X 的 bash 腳本不能使用 --color=auto

[英]OS X's bash script can't use --color=auto

我是 OS X 以及其他 Linux 發行版(Ubuntu、CentOS、RHEL)用戶的新手。

我想知道為什么 OS X 的 bash 不能使用--color=auto選項以及如何啟用它。

我經常使用ls --color=auto ,但在 OS X 上,它不起作用。 以下是命令輸出:

$ ls --color=auto
ls: illegal option -- -
usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]

我還閱讀了ls手冊頁,我發現ls -G是彩色輸出的啟動器。 所以,此時,沒關系,但我有點煩人,因為我正在為我所有的 linux 環境共享.bashrc.bash_profile

有誰知道這些 bash 的不同之處? 您有什么好主意可以在 OS X 和某些 linux 發行版之間共享.bashrc.bash_profile而無需對每個環境進行額外編輯。

PS 我的朋友告訴我 bash 在 AIX(Linux 服務器 IBM 版本?我不確定)也無法運行ls --color=auto

ls命令的實現與pstop等其他命令的實現不同,大多數utils具有GNU版本和BSD版本。 Linux使用GNU版本,而OSX可能使用BSD版本,因此這些命令的選項可能不同。

如果要使.bashrc.bash_profile可以在任何地方使用,則應在對命令進行別名化之前判斷環境,例如:

_myos="$(uname)"

case $_myos in
  Linux) alias ls='ls --color';;
  Darwin) alias ls='ls -G';;
  *) ;;
esac

使用homebrew安裝 GNU coreutils

brew install coreutils
export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"

有用鏈接:https://github.com/sorin-ionescu/prezto/issues/966

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM