以前、作成したものを少し直して、ディレクトリ名に空白がある場合の対応などをしました。
cd の履歴を持たせる bashrc
http://blog.goo.ne.jp/ito65/e/0e5059731824c6b9b626417e8f30ec47
.bashrc_cd_history(.bashrc から読み込むようにしました)
一応、Cygwin, Ubuntu でも使用してます。
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 でも使用してます。
※コメント投稿者のブログIDはブログ作成者のみに通知されます