以下は、rootに戻るために実行した小さなテストです。
#!/bin/bash
pwd
cd /
pwd
現在の作業ディレクトリを返し、正しい新しいディレクトリを返しますが、スクリプトの実行が完了した後も元のディレクトリにあり、移動しませんでした。これを達成する方法はありますか?
ありがとうございます。
答え1
スクリプトではこれを達成する方法はありません。スクリプトは別の環境であるサブシェルを起動します。これにはいくつかの理由がありますが、デフォルトではスクリプトは改ざんできません。あなたの環境(あなたを含むcwd
)。
一番近いところは現在のシェル。
alias chr="cd /"
どちらの場合も、「ソース」スクリプトは現在のシェルで「実行」されます。たとえば、あなたのように.bashrc
。