0

Trying to get --color=auto as the default ls argument.

$  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

Unfortunately when I run ls I still get non-colored output (running ls --color=auto manually gives me colors).

How do I make --color=auto a default ls argument?

2
  • Is ls aliased with different options? Try 'type ls' to see if it is aliased. \ls should run the unaliased ls.
    – jaychris
    Nov 6, 2013 at 5:11
  • Thanks, but all I get there is an absolute path to the ls I installed to $HOME\opt\bin\ls
    – A T
    Nov 6, 2013 at 13:46

2 Answers 2

2

I think you might have thought that GREP_OPTIONS being supported implies that LS_OPTIONS would be too, as in: https://stackoverflow.com/questions/793483/unable-to-put-colors-for-ls-by-ls-options

This is not the case though, so you're best doing something like this in your bashrc or equivalent:

alias ls='ls --color=auto'
1
  • I heard that using alias where an environmental variable can be given instead isn't recommended… all well, it's working now
    – A T
    Nov 8, 2013 at 3:47
0

More than three years late to this party, but I am just working through a similar issue, and have more information to add for future seekers.

It seems that while grep actively looks for GREP_OPTIONS, ls does NOT look for LS_OPTIONS. So you would have to do something like alias ls='ls $LS_OPTIONS '. You can decide for yourself whether that's worth doing, as opposed to an alias that lists your desired options directly.

(Incidentally, if any sharp-eyed individuals are wondering why I have a trailing space in that alias value, it's because of this line from the ALIASES section of the bash (GNU bash, version 4.3.42(1)-release) manpage: "If the last character of the alias value is a blank, then the next command word following the alias is also checked for alias expansion." That seems handy to me, so I put a trailing space in all of my aliases.)

1
  • How is further alias expansion handy in this case?
    – Tom Hale
    Jul 31, 2023 at 4:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .