/etc/profileの勉強
Linuxを知っていると思っていた自分がいきなり/etc/profileを読んで読めなかった。。。
pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}
このpathmunge関数の意味。
①これはまずecho ${PATH}を実行しています。
case ":${PATH}:" in
②次にそのpathの中身を確認しており
*:"$1":*)
③該当するパスが含まれている場合は、環境変数のPATHに追加しませんという意味です。
簡単にいうと
こういうスクリプトを作って
pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}
pathmunge /root/bin
(CentOS6のrootユーザではデフォルトで/root/binは追加されています。)
実行すると
sh -xつけて
何もパスを追加しませんってことです。