私は現在Ubuntuでbashを使用しており、しばしば/home/me/path/to/project_dirに格納されているディレクトリで作業しています。 Bashを開くたびにこのディレクトリに切り替える必要があるのは面倒です。そのため、パスを変数(たとえば)に保存して、projdir
実行できるようにしたいと思いますcd projdir
。作業ディレクトリが変更されたら、変数をオーバーライドしてパスを変更できる必要があります。私は.bashrcを台無しにすることなく、単一のコマンドで簡単に変数を更新できるようにしたいです。
1つの重要なことは、bashを再起動してもこの変数が持続するはずです。どうすればいいですか? Bashを起動してもホームディレクトリを見たいので、デフォルトの起動ディレクトリをproject_dirに変更することはできません。
答え1
CDPATHの内容を見るだけでman bash
十分です。
それ以外の場合は、.bashrcにいくつかのエイリアスを定義してください。私は以下をお勧めします:
alias setp='pwd >~/.projectdir'
alias gop='cd $(cat ~/.projectdir)'
答え2
echo 'PROJDIR="/home/me/path/to/project_dir"' > ~/.projdir
# put the next in e.g. .bashrc
projdir () {
. ~/.projdir
cd "$PROJDIR"
}
# change into directory simply by
projdir
# if dir changes just repeat
echo 'PROJDIR="/home/me/path/to/other_project_dir"' > ~/.projdir
# and instantly this works from all shells / consoles:
projdir
答え3
ホームディレクトリにシンボリックリンクを作成します。
ln -s path/to/project_dir ~/p
cd p
プロジェクトディレクトリに切り替えるには実行してください。
しかし、これはやや面倒な方法です。 1つのシェルを実行し、目的のディレクトリに変更してから、別のシェルを起動することができますxterm & disown
(xterm
目的の端末エミュレータの交換)。