私はシェルとしてZSHを使用し、ターミナルとしてiTermを使用するOSX 10.8.2を持っています(最後のエントリが関連しているかどうかはわかりません)。私はOSXに比較的慣れていないことに言及しなければなりません。
いくつかの環境変数を設定しようとしていますが、方法がわからないようです。
2つのコンセントがあります。
export GOBIN=$HOME/go/bin
export PATH=$PATH:$GOBIN
、、、、、、、に変更してみました.bashrc
。.bash_profile
(xcodeのプロパティリストエディタを使用して最後に変更したもの).profile
.zprofile
.zshrc
~/.MacOSX/environment.plist
なぜこれがうまくいかないのか分かりません。これを行う正しい方法は何ですか?
答え1
まあ、なぜ動作しないのかすぐに答えることはできません。詳細をご提供いただけます。また、ここに担当者が不足してコメントすることはできません(ただし他のスタック交換サイトには担当者がいます)。だから私は少なくともその質問に答えようとします。
まず、実際にzshを使用している場合、〜/ .profileとすべてのbash rcファイルは関係ありません。 .zshrcを見続けてください。ほとんどの場合、これはこの種のコンテンツの正しいrcファイルです。
この種の作業は通常「動作」するので、プロセスの一部を理解していないか、欠落していると推測したいと思います。
まず、実際にzshを使用していることを確認してください。
echo $SHELL
echo $0
この出力を共有してください。
第二に、実際に動作しないことを確認してください。次の出力を公開する必要があります。
echo $PATH
コマンドを実行する前後にこれを試してくださいexport ...
。これが何かを確認する唯一の方法です。その他起こりませんでした。
注:再起動は関係ありません。これらの内容を.zshrcに入れると、新しいシェルを開くだけで十分です。また、アクティブシェルでこれらのコマンドを実行し、問題が解決するまで.zshrcファイルに追加せずに実験する方が簡単です。
この結果を共有していただければご連絡いたします。
答え2
これは効果が~/.zshenv
あるか、~/.zshrc
Xcodeがある場合はこれも必要ですdtrace
。これにより、システムの実行中にどのファイルを開こうとしているかを確認できます。これは、何が起こっているのかをzsh
追跡するのに役立ちます。
sudo dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }' -c zsh
/etc/zshenv
奇妙なことに、10.7.5には1つあり、/etc/zshrc
zshはそのdtraceからグローバル設定をロードしようとします。