LoginSignup
11
10

More than 5 years have passed since last update.

cd /path/to/file→失敗→fileを削って再びcd /path/to をもうやりたくないお

Last updated at Posted at 2013-03-29

ログとかからファイルのフルパスをコピペしてそのファイルのあるディレクトリへcdしたいことってよくありますよね?そんなときこの記事タイトルのようなことをやった経験が誰にもあると思います。少なくとも僕はよくやるし、長いファイル名をBS連打で削るのがもう嫌です。

cd先がファイルだったらそのファイルがあるディレクトリに行きたいって思ってるに決まってるじゃん。分かるでしょ?だからもう勝手にファイル名削ってcdしちゃってよ!

って夢が叶うのが以下の設定です。

~/.bashrc
# cd file でそのfileのあるディレクトリに移動する
function cd() {
  if [[ -e $1 && ! -d $1 ]]; then
    builtin cd -- "$(dirname -- "$1")"
  else
    builtin cd "$@"
  fi
}

この結果…

# httpd.confを弄ろう…
$ sudo vim /etc/httpd/conf/httpd.conf

# ちょっとヒストリ1個戻ってconfディレクトリに行きたいな…
$ cd /etc/httpd/conf/httpd.conf

# しまったファイル名のままcdしちまった
# あれ? エラーが出ない…だと!?

$ pwd
/etc/httpd/conf

# これは楽ちん!
11
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10