星期三, 8月 31, 2011

設定 ls 指令的 LS_OPTIONS 於 openSUSE 11.4

一般來說如果在 openSUSE 以 root 身份使用 ls 指令 會顯示隱藏檔案
原因是因為 系統有設定 alias

alias   ls='ls $LS_OPTIONS'

如果去 觀察 $LS_OPTIONS
# echo $LS_OPTIONS
-A -N --color=tty -T 0

就會發現有加上 -A 的選項
所以會顯示隱藏檔案

以往修正這個選項都是在  /etc/bash.bashrc  檔案內
將 root 的 LS_OPTIONS 的 -A 拿掉來修正
if test "$UID" = 0 ; then
        LS_OPTIONS="-A -N $LS_OPTIONS -T 0"
    else
        LS_OPTIONS="-N $LS_OPTIONS -T 0"
fi


但是在 openSUSE 11.4 卻沒有在 /etc/bash.bashrc 內看到  相關設定
原因是相關設定移到  /etc/profile.d 目錄內了

觀察一下相關目錄
# ls  /etc/profile.d/
PackageKit.sh  csh.utf8                 ls.bash         sh.ssh
alias.ash      cvs.csh                  ls.tcsh         sh.utf8
alias.bash     cvs.sh                   opensp.csh      udisks-bash-completion.sh
alias.tcsh     desktop-data.csh         opensp.sh       xdg-environment.csh
alljava.csh    desktop-data.sh          profile.csh     xdg-environment.sh
alljava.sh     gvfs-bash-completion.sh  profile.sh      zzz-glib2.csh
bindkey.tcsh   krb5.csh                 pulseaudio.csh  zzz-glib2.sh
complete.bash  krb5.sh                  pulseaudio.sh   zzz-groff.csh
complete.tcsh  lang.csh                 python.csh      zzz-groff.sh
csh.ssh        lang.sh                  python.sh


相關設定檔會被存放於  /etc/profile.d/ls.bash

修改 /etc/profile.d/ls.bash 內的值就可以了

#vi    /etc/profile.d/ls.bash
if test "$UID" = 0 ; then
        LS_OPTIONS="-N $LS_OPTIONS -T 0"
    else
        LS_OPTIONS="-N $LS_OPTIONS -T 0"
fi



enjoy it ~~


沒有留言: