Masaatoshi Ito の備忘録

主にザウルス(SL-C3100)に関する備忘録を書いています。更新停滞中&書く内容迷走中…。

cd の履歴を持たせる bashrc (修正版)

2010年03月17日 00時06分54秒 | Zaurus/環境設定
以前、作成したものを少し直して、ディレクトリ名に空白がある場合の対応などをしました。

cd の履歴を持たせる bashrc
http://blog.goo.ne.jp/ito65/e/0e5059731824c6b9b626417e8f30ec47

.bashrc_cd_history(.bashrc から読み込むようにしました)
# cd history
alias cd=chdir
function chdir {
local d="$1"
if [ -r "$d" -a -d "$d" -o "$d" = "" ] ; then
local i
for i in 8 7 6 5 4 3 2 1 0 ; do
dirstack[$i+1]="${dirstack[$i]}"
done
dirstack[0]="`pwd`"
if [ "$d" = "" ] ; then
\cd
else
\cd "$d"
fi
pwd
else
echo "Can't change directory : $d"
fi
}
function ds {
echo "p:""`pwd`"
local i
for i in 0 1 2 3 4 5 6 7 8 9 ; do
echo "$i:${dirstack[$i]}"
done
}
function bd {
dirstack[10]="`pwd`"
local d="${dirstack[0]}"
if [ -r "$d" -a -d "$d" -o "$d" = "" ] ; then
if [ "$d" = "" ] ; then
\cd
else
\cd "$d"
fi
else
echo "Can't change directory : $d[0]"
fi
local i
for i in 0 1 2 3 4 5 6 7 8 9 ; do
dirstack[$i]="${dirstack[$i+1]}"
done
pwd
}
function nd {
dirstack[10]="`pwd`"
local d="${dirstack[9]}"
if [ -r "$d" -a -d "$d" -o "$d" = "" ] ; then
if [ "$d" = "" ] ; then
\cd
else
\cd "$d"
fi
else
echo "Can't change directory : $d"
fi
local i
for i in 8 7 6 5 4 3 2 1 0 ; do
dirstack[$i+1]="${dirstack[$i]}"
done
dirstack[0]="${dirstack[10]}"
pwd
}

一応、Cygwin, Ubuntu でも使用してます。
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« SHARP純正Qtopia環境の左利き... | トップ | SL-C3100の辞書のライセンス... »
最新の画像もっと見る

コメントを投稿

Zaurus/環境設定」カテゴリの最新記事