2006-08-30 (Wednesday) [長年日記]
■ 環境変数を切り替えるシェル関数
先日の日記の続きです. set.env関数として共通部分を抜き出すことができました.
調子に乗って,set.editor関数を作ってみました.
function set.env { ENV_NAME=$1 shift ENV_VALUES=("$@") PS3="select ${ENV_NAME} to set:" select ENV_VALUE in ${ENV_VALUES}; do echo export ${ENV_NAME}=${ENV_VALUE} export ${ENV_NAME}=${ENV_VALUE} break done } function set.editor { EDITORS=( 'vi' 'emacs' 'nano' ) set.env EDITOR $EDITORS }
ENV_NAME=shift とか書いていたのが動かない原因だったみたい. なにやってんだ,Perlじゃねぇんだぞ.>自分
PAGER, TERM, CVSROOT, LANG あたりは簡単に切り替えられるようにしておくかね.
■ ワーキングディレクトリを選択するシェル関数
select使いたい症が発病中.
いくつかの候補から移動先を選択して cd するシェル関数も作ってみました. シェルスクリプトでは cd しても元のディレクトリに戻ってしまうので, シェル関数として書きました. Directory Jump ということで,dj関数としてみる.
function dj { PS3='select directory to jump:' DIRS=( '/home/takano32' '/home/takano32/tmp' '/home/takano32/var' ) select DIR in ${DIRS[*]};do echo cd $DIR cd $DIR break done }
まぁ,シンボリックリンク張ってもいいんだけどね...
[ツッコミを入れる]
[]
本日のPingbacks(全0件)
OS自作入門







