zshの再起動

zshの再起動

.zshrc ファイルを編集して構成しました。ZシェルFreeBSDでは、例えばアップデートシステム変数

path+=/usr/local/openjdk12/bin

変更を適用するにはどうすればよいですか?

ログアウトして再度ログインする必要がありますか?ファイルをすぐに実行する方法はありますか?

答え1

zshの再起動

Zshの起動.zshrc時に読んでください。ログアウトして再度ログインする必要はありません。端末を閉じて新しい端末を開き、.zshrcこの新しい端末から新しい情報を入手してください。しかし、これをより簡単にすることができます。 zshに再起動するように指示します。

exec zsh

zshプロンプトでこのコマンドを実行すると、現在のzshインスタンスが同じ端末で実行されている新しいインスタンスに置き換えられます。新しいインスタンスは同じです。環境変数は前作と同じですが、新鮮な感じシェル(エクスポートされていない)変数であり、新しい履歴を開始します(したがって、一般的な設定で他の端末からのコマンドを混在させます)。すべてのバックグラウンドタスクは拒否されます。

もう一度読む.zshrc

zshにrereadを指示することもできます.zshrc。これには、シェル履歴、シェル変数、およびバックグラウンド操作に関する知識を維持するという利点があります。ただし、何を入れるかに応じて動作することも、.zshrc動作しない場合もあります。.zshrc実行コマンドの再読み込みはうまくいかないか、2回実行すると正しく動作しない可能性があります。

. ~/.zshrc

.zshrc2回実行したい場合は、入れることができるものと入れることができないものをすべて列挙するにはできることが多すぎます。ここはただ一部一般的な問題:

  • 変数(fpath+=(~/.config/zsh)またはchpwd_functions+=(my_chpwd))に追加すると、同じ要素が再び追加されるため、問題が発生したり発生しなくなる可能性があります。
  • エイリアスを定義し、コマンドと同じ名前を使用すると、コマンドはエイリアスとして実行されます。たとえば、次のように動作します。
    function foo { … }
    alias foo='foo --common-option'
    
    しかし、そうではありません。 2番目にファイルをインポートすると、foo ()エイリアスが拡張されるためです。
    foo () { … }
    alias foo='foo --common-option'
    
  • 既存のzsh機能にパッチを適用すると、自分のバージョンにパッチを適用して混乱を招く可能性があります。
  • 「2 つのキーのバインディングの交換」などの操作を実行すると、2 番目の場合は目的の操作は実行されません。

答え2

シェル初期化ファイルに対する変更は次のとおりです。たとえば、新しいグラフィックターミナルを開いたり、サインアウトしてから再度ログインしたときに起動するシェルです。何らかの方法でデスクトップ環境に影響を与える変更を行った場合(どの変更の種類がわかりません)、ログアウトして再度ログインする必要があります。

あなたできる. /path/to/filename(あなたの場合) get the file. ~/.zshrcまたは start a new shell session from the command line を使用します。しかし、これは変数に冗長パスを追加したり、追加のプロセスを開始するなど、zsh望ましくない結果を招く可能性があるため、あまり良い考えではありません。そのファイルで操作を実行します。これらの変更は、すでに起動されているプログラムには表示されません。$PATHssh-agent

無条件の追加などの変更の場合は、$PATH現在のシェルで added コマンドを実行できます。

$ path+=/usr/local/openjdk12/bin

zshこれにより、現在のシェルセッションの終わり/usr/local/openjdk12/bin(および$PATH配列の終わり)にディレクトリ(in)が追加されます。繰り返しますが、この変更はすでに実行されているプロセスには影響しません。$pathzsh$PATH

答え3

PATH変数の更新(他の行によって異なる)を含む、特定の変更を適用する新しいファイルを取得できます。ただし、ソーシングは.zshrc再実行されるため、予期しない冗長コマンドが実行される可能性があります。また、前の行から行が削除されると、.zshrcセッションから「削除」されません。

最もきちんとした方法は、ログアウトして再度ログインすることです。デスクトップ全体ではなく、端末セッションに対してのみこれを実行できます。

答え4

ああマブソサZsh

ああマブソサZshZsh構成を管理するためのオープンソースコミュニティベースのフレームワーク。

インストールが完了したら、次のコマンドを実行できます。

omz reload

.zshrc設定ファイルを再ロードします。

関連情報