Попытка получить --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 умолчанию?

2 ответа2

2

Я думаю, вы могли подумать, что поддерживаемая GREP_OPTIONS подразумевает, что LS_OPTIONS будет тоже, как в:https://stackoverflow.com/questions/793483/unable-to-put-colors-for-ls-by-ls-options

Это не тот случай, поэтому лучше всего делать что-то подобное в вашем bashrc или аналогичном:

alias ls='ls --color=auto'
0

Более трех лет опоздал на эту вечеринку, но я просто работаю над аналогичной проблемой, и у меня есть больше информации для будущих искателей.

Кажется, что пока grep активно ищет GREP_OPTIONS , ls НЕ ищет LS_OPTIONS . Так что вам придется сделать что-то вроде alias ls='ls $LS_OPTIONS ' . Вы можете сами решить, стоит ли это делать, в отличие от псевдонима, в котором перечислены нужные параметры.

(Между прочим, если какие-то люди с острыми глазами задаются вопросом, почему у меня есть конечный пробел в этом значении псевдонима, это из-за этой строки из раздела ALIASES страницы руководства bash (GNU bash, version 4.3.42 (1) -release): «Если последний символ значения псевдонима является пустым, то следующее слово команды, следующее за псевдонимом, также проверяется на расширение псевдонима. Мне это кажется удобным, поэтому я ставлю конечный пробел во всех моих псевдонимах.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .