尝试获取--color=auto
其默认ls
参数。
$ ls --version
ls (GNU coreutils) 8.21
…
$ echo $LS_COLORS
no=00:fi=00:di=00;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=00;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:
$ echo $LS_OPTIONS
--color=auto
不幸的是,当我运行时ls
我仍然得到非彩色的输出(ls --color=auto
手动运行会给我颜色)。
我如何提出--color=auto
默认ls
参数?
答案1
我想您可能认为 GREP_OPTIONS 受支持意味着 LS_OPTIONS 也受支持,如下所示: https://stackoverflow.com/questions/793483/unable-to-put-colors-for-ls-by-ls-options
但事实并非如此,所以你最好在 bashrc 或同等文件中执行如下操作:
alias ls='ls --color=auto'
答案2
参加这个聚会已经晚了三年多了,但我刚刚解决了一个类似的问题,并且有更多信息可以提供给未来的寻求者。
似乎虽然grep
主动寻找GREP_OPTIONS
,但ls
并不寻找LS_OPTIONS
。所以你必须做类似 的事情alias ls='ls $LS_OPTIONS '
。你可以自己决定这是否值得做,而不是直接列出你想要的选项的别名。
(顺便说一句,如果有眼尖的人想知道为什么我在该别名值中有一个尾随空格,那是因为 bash(GNU bash,版本 4.3.42(1)-release)手册页的 ALIASES 部分中有这样一行:“如果别名值的最后一个字符是空格,则还会检查别名后面的下一个命令字是否进行别名扩展。”这对我来说似乎很方便,所以我在所有别名中都放了一个尾随空格。)