やりたいこと
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を設定しよう