I encountered a little problem today, I use macports version of coreutils which gives me access to gnu versions of some commands (for full list : sudo port contents coreutils | grep /bin). My problem is related to one of those I’m using in my bashrc to color my shell : dircolors (gdircolors in macports).
This little commands allows you to generate LS_COLORS values (as the name seems to imply, it’s used by
ls command) from a config file (
~/.dir_colors in my case). I confidently modified this file today and was welcomed by a nice
csh: Unknown colorls variable `su'.
It turns out there are an incompatibility between LS_COLORS generated by current version of dircolors in coreutils and (t)csh : tcsh treat LS_COLORS as a magic environment variable, which means it is parsed for its own use in ls builtin command.
The culprits in my
.dir_colors file was :
#SETUID 37;41 # file that is setuid (u+s) #SETGID 30;43 # file that is setgid (g+s) #STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) #OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky #STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
As you can see a simple fix is to comment them out.
In fact I’m not sure why I see those errors poping up, as I’m using bash ans it’s now the default in MacOSX.