わかりました、これは短い質問です。たまたまpushd
コマンドを使用すると、作業ディレクトリをリストに追加できるので便利です。しかし、このリストを永続的にして、再起動やログオフに耐えられるようにする方法はありますか?
必要に応じて、~/.bashrc
ファイルにディレクトリスタックを事前に入力できます。
for dir in "$HOME/dir" /usr/src /usr/local/lib; do
pushd -n "$dir" >/dev/null
end
または、ディレクトリを配列に配置し、代わりにそこから使用する場合は、次のようにします。
dirstack=( "$HOME/dir"
/usr/src
/usr/local/lib )
for dir in "${dirstack[@]}"; do
pushd -n "$dir" >/dev/null
end
unset dirstack
-n
を使用すると、pushd
は実際には作業ディレクトリを変更せず、代わりに指定されたディレクトリをスタックに追加します。
必要に応じて、currentディレクトリスタックであるDIRSTACK
配列(ここでは大文字の変数名)の値を~/.bash_logout
からファイルに格納できます。 、次に、事前定義された配列を使用するのではなく、~/.bashrc
でそのファイルを読み取ります。
~/.bash_logout
:
declare -p DIRSTACK >"$HOME/.dirstack"
~/.bashrc
:
if [ -f "$HOME/.dirstack" ]; then
source "$HOME/.dirstack"
fi
複数の端末を使用している状況で、これがどの程度うまく機能するかはわかりません。ログインシェルとしてbash
を実行した場合、端末が終了するたびに.dirstack
ファイルが上書きされます。