特定のディレクトリにポップアップする方法は?

特定のディレクトリにポップアップする方法は?

一度pushd別のディレクトリに移動しましたが、今実行すると

dirs -v

私は得る:

 0  ~/Desktop
 1  /etc
 2  /var/log
 3  ~/Downloads
 4  /tmp

popdスタックの中央にある特定のディレクトリにどのようにアクセスできますか? 、例えばoption 2: /var/log

man bash説明する

+n dirsに表示されているリストの左側から
0から始めて、n番目のエントリを削除します。たとえば、「popd +0」は
最初のディレクトリを削除し、「popd +1」は2番目のディレクトリを削除します。

頑張った

  • 「ポップ+0」
  • 人気+3

スタックから正しいディレクトリをポップしますが、現在の作業ディレクトリは変更しません。

popdディレクトリを指定して現在の作業ディレクトリを「ポップアップ」ディレクトリに変更するにはどうすればよいですか?

答え1

cd "`dirs +<number>`"

ここで、<number>0、3、またはその他の値です。

とにかくCDパッケージを見ることをお勧めします。 http://davidcorne.com/tag/cd/これにより、pushステージの背後にあるディレクトリスタックに入り、代わりにcd --目的のディレクトリでdirs -v実行できます。cd -<number>また、初期チルダを に置き換えて、ご$HOME意見で述べた問題を取り除きます。

答え2

私はCygwinディストリビューションの.bashrcファイルでこのスクリプトを見つけました。 20行目なので動作しません。

adir=$(dirs +$index)

これで、adirには「2 / cygdrive / d」などのインデックスが含まれているので、1行を追加しました。

adir=${adir:4}

これは効果があると思います。

関連情報