«前の日記(2012-06-22 Friday) 最新 次の日記(2012-06-25 Monday)» 編集

libAlexandrina.so.tDiary


2012-06-23 Saturday

ワークディレクトリに一発で行きたい

日常業務でsvnの作業ディレクトリに一発で行きたいなぁと考え、自分のhomeディレクトリに

cd /home/me/svnwork/super_project/child_project/current_branch

とかいう中身のshファイルを作成し、chmod +xし、実行してもディレクトリが変わらない。

なんでやねんって、そりゃそうで。作った子プロセスが内部でcdした場合、作った元=つまり現行のプロンプトの画面のディレクトリが変わってしまうわけにいかないのでそうなっている。

解決方法は2つ

sourceコマンドを使う

sourceコマンド=.は子プロセスを作成せず、それを実行するコマンドのようである。なので、

. ~/上の.sh

とやれば、見事cdに成功する。

aliasしておく

alias gocb='cd /home/me/svnwork/super_project/child_project/current_branch'

としておけばどこでもgocbと叩けばそこにいける。

とりあえず正直souceコマンドと普通の実行の違いがよくわかってなかったのでわかってよかった。

Tags: bash