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 番目の場合は目的の操作は実行されません。

おすすめ記事