環境変数$SHLVL

マルチポスト元→http://exth.net/~tgbt/wordpress/2009/06/02/2145/


シェルの深さを保持する環境変数.scriptなどを使うと増える.


scriptしたつもりで実験プログラムをぶん回したら,実はscriptし忘れていてn時間が無駄に……というわけで,防止策を調べていたらSHLVLを見つけた.


あぁ,これでpromptの文字列色とか変えれば幸せになれるんじゃねえ? とか思って.cshrcに仕込んだんだけど,よく考えたら.cshrcはログインの時だけだからexitしても戻らない……
と思ったら,そういえば.logoutなんてファイルもありましたね!
というわけで,

.cshrc

if ($SHLVL == 1) then
	set prompt = "%{\e[30m%}%n@%m[%h]%c $SHLVL >%{\e[0m%}"
else
	set prompt = "%{\e[31m%}%n@%m[%h]%c $SHLVL >%{\e[0m%}"
endif

.logout

 if ($SHLVL <= 2) then
	set prompt = "%{\e[30m%}%n@%m[%h]%c $SHLVL >%{\e[0m%}"
else
 	set prompt = "%{\e[31m%}%n@%m[%h]%c $SHLVL >%{\e[0m%}"
endif

うん,とりあえず幸せになった.というか不幸の根を一つ排除した.気がする.できているといいな!