我是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
,而无需在每个环境中进行额外编辑。
P.S。
我的朋友告诉我bash on AIX(Linux服务器IBM版本?我不确定)也无法运行ls --color=auto
。
答案 0 :(得分:5)
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