zshは常にPATH変数を忘れます

zshは常にPATH変数を忘れます

私はMavericksを実行しているMacBookのiTermで[oh-my-zsh]を使用しています。

ロード時に.zshファイルをインポートするようにiTermを設定しましたが、ほとんどの場合動作します。

cd && source .zsh

除いて。時には、セッション中に環境変数とエイリアスを忘れることがあります。これが起こると、基本的なものでさえmvn「忘れる」ことができます。

これがiTerm、zsh、またはoh-my-zshの問題であるかどうかはわかりません。どんなアイデアがありますか?

ベストアンサー1

~によるとzshユーザーガイド、エイリアスは次に定義する必要があります~/.zshrc

起動ファイルに定義するエイリアスが.zshrcだと思うかもしれません。

また、清潔に保つためのヒントも提供されています~/.zshrc

私は対話型シェルでのみエイリアスを使用する傾向があるので、.zshrcでエイリアスを定義しますが、エイリアスをより広範囲に使用する場合は.zshenvを使用することをお勧めします。実際に.zshrcをきれいに保つために、すべてのエイリアスを.aliasrcという別々のファイルに保存し、.zshrcには次のものがあります。

if [[ -r ~/.aliasrc ]]; then
   . ~/.aliasrc   
fi

読み取れるファイル ~/.aliasrc があることを確認し、あれば通常の起動ファイルと同じ方法で実行します。

したがって、というファイルを生成します~/.aliasrc.source~/.zshrc

これ同じソース環境変数は次の場所に配置することをお勧めします~/.zshenv

このコンテンツを置く最も簡単な場所は.zshenvです。したがって、名前が付けられました。環境変数はシェルで実行されているすべてのプログラムに渡されるため、.zloginまたは.zprofileで定義するだけで十分です。しかし、非対話型で始まるシェルはこれらのプログラムを実行せず、他の可能な問題もあります。 zsh以外のシェルによって起動されるWindowsシステムを使用する場合、またはシェル起動ファイルをまったく実行しない場合は、---そうするにはシステムを調整する必要があります。したがって、.zshenv は環境変数の定義に時間がかからない最も安全な場所です。他の人は間違いなくあなたに正反対の意見を与えますが、それがあなたに合った人です。

おすすめ記事