pushdが常にスタックをstdoutに出力するのはなぜですか? [閉鎖]

pushdが常にスタックをstdoutに出力するのはなぜですか? [閉鎖]

pushdディレクトリをディレクトリスタックにプッシュし、作業ディレクトリを変更します。私はそれが私たちに必要なものだと思います。

しかし、それ以外にもpushdスタックが常にstdoutに出力されるのはなぜですか?私はこれが不要で、画面をめまいやポイントを見逃していると思います。ありがとうございます。

答え1

コマンドが成功した場合にのみ、これを行うわけではありません。マンページから:

Pushdコマンドが成功すると、dirsも実行されます。

私たちはもともとプログラマーの心を読むことはできませんが、これはユーザーにスタックアップデートに関する通知を提供するためのものであると想像できます。

答え2

pushdpopdにインタラクティブにディレクトリを閲覧する便利な方法を提供します。スクリプトではcdより一般的に使用されます。

対話型ツールとして、pushd新しいディレクトリがディレクトリスタックに正常にプッシュされるたびに、ディレクトリスタックの現在の状態に関するフィードバックがユーザーに提供されます。このcdコマンドは、現在の作業ディレクトリが変更されるたびに同じ方法で新しいディレクトリを出力するシェル関数(対話式のみ)に含まれます。シェルrのエイリアスは、ksh最後に与えられたコマンドを繰り返し実行している実際のコマンドをエコーする形でユーザーにフィードバックを提供します。

これらのすべての小さなフィードバックは、ユーザーが対話型シェルプロンプトを使用しているときに実行されていると思うタスクを実行していることを確認してナビゲートするのに役立ちます。

関連情報