[英]How does this os x bash script that emulates linux's readlink work?
[英]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
命令的實現與ps
和top
等其他命令的實現不同,大多數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.