あまりにも入力した後、フルパスpushd
スタックを消去したいと思います。
popd
スタックのすべてのアイテムをどのように処理しますか?
popd
スタックにいくつがあるかを知る必要はないでしょうか?
bashマニュアルいいえこれをカバーしているようです。。
なぜこれを知るべきですか?私はトリッキーでスタックをきれいにします。
答え1
dirs -c
あなたが探しているもの。
答え2
スタックをすべて消去するにはそしてスタックの下部から作業ディレクトリを復元するには、次の手順を実行できます。
でそのディレクトリを検索し
dirs
、そのディレクトリに変更してスタックを消去します。cd "$(dirs -l -0)" && dirs -c
ここでは、オプションを入力しようとしたときに失敗しないようにフルパスを一覧
-l
表示し、スタックの一番下で最初の項目を検索します。cd
~
-0
@jw013は、パス拡張を避け、コマンドをより強力にすることを提案しました。
pushd -0 && dirs -c
または、エラーが発生するまで(ディレクトリスタックが空のときの呼び出し状態です
popd
):popd
while (( $? == 0 )); do popd; done