私は周りを見回して、この質問に対する答えを探しましたが、それを見つけることができないようです(これは奇妙です)。
私の質問は、Macのターミナル内からbashセッションを再起動する簡単な方法はありますか。ターミナルアプリケーションを閉じて再起動した場合と同じ動作が必要なだけです(すべての変数がリセットされ、.bash_profileがソースになるなど)。
私は.bash_profileを入手する方法を知っていますが、それは私が望んでいることではありません。これを実行したい理由の1つは、bashプロンプトのプラグインに、色が複数回読み込まれないようにするコードが含まれているためです。したがって、.bash_profileを調達してもカラー変数は再ロードされず、変更を有効にするには端末アプリケーションを再起動する必要があります。
exec bash
は、現在のシェルプロセスをbash(の新しいインスタンス)に置き換えます。
受け入れられた答えは、bashを使用しているシェルに最適です。これは、OPが要求したものでもありますが、macOSのターミナルをデフォルト以外のシェル(zsh)で使用しており、コマンドexec bash
を実行すると明らかにわかりません。 t希望する効果が得られます。デフォルトのシェルの代わりにbashが起動します。
したがって、環境に依存しないコマンドはexec $Shell
となり、ユーザーのデフォルトのシェルを格納する環境変数$Shell
を利用します。
また、AppleはmacOS Catalinaでbashをzshに置き換えるため、OPがexec zsh
またはexec $Shell
のいずれかを実行するために探している効果をもたらすことに注意してください。 macOS 10.15へのアップデート後に移動します。