二度と “cd: foo: No such file or directory” と言わせない
一度はやるよね.
存在しないディレクトリに入ろうとする
$ cd foo
bash: cd: foo: No such file or directory
そして fuck と叫びながら fuck する.
fuck する
$ fuck
mkdir -p foo && cd foo [enter/↑/↓/ctrl+c]
ここで与えられた fuck を見て “これだー” ってなった.
“これだー” is どれだー
こんな感じの処理をすればいいのでは?
(入ろうとするディレクトリの名前は foo)
もうあとはこれを書けばいいだけ.
試し書き
function cd() {
if [ -d $1 ]; then
command cd $1
elif [ ! -e $1 ]; then
mkdir -p $1 && command cd $1
else
echo もうだめ
fi
}
でもエラー表示が もうだめ なのはいかがなのだろうか.
もう少し考える
ファイルに対して cd しようとするともちろん怒られる.
$ touch hoge
$ cd hoge
bash: cd: hoge: Not a directory
これでいいんじゃないか.
とりあえず本命
function cd() {
if [ ! -e $1 ]; then
mkdir -p $1 && command cd $1
else
command cd $1
fi
}
おわりに
もっと賢い方法があれば教えてください.