GNU/Linux >> Linux の 問題 >  >> Linux

現在のディレクトリをプッシュ/ポップしますか?

pushd があります と popd

<ブロック引用>

Bash はアクセスしたディレクトリの履歴を保持します。質問するだけです。Bash は履歴をスタックに保存し、コマンド pushd および popd を使用してスタックを管理します。

続きを読む

例:

$ pwd; pushd /tmp; pwd; popd; pwd
/home/me
/tmp ~
/tmp
~
/home/me

bash を呼び出す 独自の入力を持つ新しいサブシェルを開始します。終了するまで、他のコマンドは実行されません。実行するコマンドを括弧で囲むと、新しいサブシェルも開始されますが、その中のコマンドが実行されます。

( cd dir ; ./dostuff )

複数レベルのディレクトリ履歴が必要ない場合は、次のこともできます:

cd foo
# do your stuff in foo
cd -

pushd との比較 /popd 、これには欠点があります cd foo 失敗すると、 cd - で間違ったディレクトリになってしまいます .

(おそらく cd - 外部スクリプトの方が便利です。 「私がいたところに戻りましょう。」)


Linux
  1. シェルスクリプトの現在のディレクトリ?

  2. 現在のディレクトリでスクリプトを入手できません

  3. すべてのファイルを現在のディレクトリから上位ディレクトリに移動する方法は?

  1. 現在のディレクトリ内のすべてのファイルを chown/chmod する方法は?

  2. 現在のディレクトリで新しいターミナルを開く方法は?

  3. sudo -i ただし、現在の作業ディレクトリを保持する

  1. 現在のディレクトリを取得するShell-initエラー[修正]

  2. Active Directory から現在の Kerberos KVNO を取得する

  3. Chroot SFTP - ユーザーに現在の (chroot) ディレクトリへの書き込みを許可することが可能