やりたいこと
LinuxでもMac(coreutils有り無し)でも同じ.zshrcを使ってlsの色付け設定をする.
LS_COLORS
- LinuxのGNU版
lsコマンドの色設定は環境変数LS_COLORSで指定. - MacのBSD版
lsコマンドの色設定は環境変数LSCOLORSで指定できるが,設定方法が特殊で扱いづらい. - LinuxとMacで同じ色設定にするには
coreutilsをインストールしてGNU版lsコマンドを使えるようにするのが楽.
Linuxではdircolorsというコマンドを実行すればいい感じにLS_COLORSを設定できる.Macでcoreutilsを使う場合はgdircolorsというコマンド.
場合分けして.zshrcを書く.
.zshrc
# ---------- ファイル,ディレクトリの色設定
if type dircolors > /dev/null 2>&1; then
eval "$(dircolors)"
elif type gdircolors > /dev/null 2>&1; then
eval "$(gdircolors)"
fi
lsのエイリアス
- LinuxのGNU版
lsで色をつけるオプションはls --color=auto. - MacのBSD版
lsで色をつけるオプションはls -G. - BSD版
lsを使う場合はデフォルトの色設定をとりあえず使う. -
coreutilsを入れた場合はglsを使う.
.zshrcに場合分けして記述.darwin*はMacOS.
.zshrc
case ${OSTYPE} in
darwin*)
alias ls='ls -G'
;;
linux*)
alias ls='ls --color=auto'
;;
esac
# ------ if coreutils
if type gls > /dev/null 2>&1; then
alias ls='gls --color=auto'
fi
参考
Yonchu @yuyuchu3333: LS_COLORSを設定しよう