ターミナルウィンドウを閉じて新しいウィンドウを開始する代わりに、ターミナルウィンドウを再初期化する方法


49

エイリアスの設定など、シェル/ bashの動作にいくつかの変更を加えたときに、新しいウィンドウを閉じたり開いたりする代わりに、ターミナルウィンドウを再初期化するクイックコマンドはありますか?

回答:


51

.bashrc構成をリロードする場合:

source ~/.bashrc

入力を少なくするにsourceは、ドットに置き換えることができます。. ~/.bashrc


2
ここに質問がありますが、これはどのように動作しsource ~/.bashrcますか?
古典的な

そうではありません。bashのマニュアルページを見ると、コマンドが同等のものとしてリストされていることがわかります。
カールステンティエル

2
sourcebashに固有です。 .より標準的です。どちらもbashで同じように機能します。
マイケルテリー

1
これにより、PATHといくつかの環境変数が再ロードされます。何も「リセット」しません。@NESの答えは正しいものです。
セリン

2
これは何もリセットしません。PATHに更新がある場合、古い更新と新しい更新があります。
コンスタンタン

39

reset / tsetコマンドのマンページにある追加情報i

tsetリセット端末の初期化

コマンド: reset

Tsetは端末を初期化します。Tsetは最初に、使用している端末のタイプを判別します。この決定は、最初に見つかった端末タイプを使用して、次のように行われます。

使用されるシェルから独立しているという利点があるようです。ここでも魚で動作します。

したがって、端末を再初期化するには

$ tset

または

$ reset

残念ながら、これも間違っています。既存の環境変数はリセットされません。
イザランディ

9

の追加オプションexec bashは、.profile(または.bash_profile)を変更した場合、

$ exec bash --login

それはあなたのプロファイルも再び読み込みます。-iオプションを追加してbashが対話型シェルであることをbashに明示的に指定しても問題はありませんが、通常はそれ自体を把握できます。


私にとっては、幹部なしでも動作します
アーメンサノヤン

残念ながら間違っています。設定済みの環境変数はまだ存在し、リセットされません。
イザランディ

6

実行中のアプリケーション/シェルを新しいインスタンスに置き換える必要があります。たとえばbash、優先シェルとして使用している場合は、コマンドラインに次の行を入力します($はコマンドラインの先頭のプレースホルダーです)。

> $ exec bash

実行中のアプリケーション/シェルはbash、ゼロから始まるlikeの新しいインスタンスに置き換えられます。以前の変更はすべてなくなりました。

注:端末アプリケーションが再プログラムされる可能性があることを忘れないでください。端末アプリケーションを手動でリセットする必要があります。


2
「再プログラム」とはどういう意味ですか?
エリアケイガン

0

シェルは呼び出し可能な実行可能ファイルです。したがって、bashを使用している場合は呼び出すbashことができ、zshのような他のものを使用している場合は、単に入力できますzsh


0

を使用しexec sudo --login --user $USERます。

あなたもdisapper(端末のフルリセット)に以前に入力したコマンドを使用する場合は、とそれを組み合わせるresetなどreset; exec sudo --login --user $USER

Webには多くの答えがありますが、ほとんどは実際には機能しません。テストする簡単な方法はexport SOMEVAR=42、おそらくリセットするコマンドを設定してから実行することですecho $SOMEVAR。42の場合、環境はリセットされていません。

exec -c bash -lまたはがありますがexec env -i bash -l、これらは壊れています。この後、何らかの理由で$ HOME変数が設定されません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.