
私はこれをzsh
デフォルトのシェルとして使用し、.zshrc
環境変数を変更するために使用します。gvim
端末で実行するとすべてが正常ですが、デスクトップアイコンを使用してgvimを実行すると環境変数が消えます。 (ただ消去すると:shell
動作しますが、:!
コマンドは機能しません)
環境変数を移動しようとしましたが、.zprofile
成功しませんでした。移動すると動作しますが、読み込みがない.profile
ため、変数を再コピーする必要があります。zsh
.profile
シェルの内部処理についてはわかりませんgvim
。コマンドで読み取る.zshrc
か使用できますか?.zprofile
:!
メモ:システムを使用していますubuntu
。オペレーティングシステムに関連するすべてのエレガントなソリューションも歓迎します。
答え1
.zshrc
私の環境変数を修正する
これが問題の根本原因です。.zshrc
対話型シェルセッション用の起動ファイル。環境変数を設定する代わりにシェル設定を指定するには、これを使用します。環境変数は通常.profile
セッションファイルに設定されます。.bashrcの代替(該当する事項は.bashrc
すべて適用されます.zshrc
。)
zshがログインシェルの場合、これは読み込まれません~/.profile
。~/.zprofile
端末はおそらくシステムがすでに設定されている方法です。しかし、より正確な情報がなければ、「機能しない」ことが何であるかを言うのは難しいです。/bin/sh
SHELL=$(command -v zsh)
~/.zprofile
ログインシェルがzshの場合は、次の行を~/.zprofile
読んでください.profile
。
emulate ksh -c '. ~/.profile'
通常. ~/.profile
、zshとBourneスタイルのシェル間の非互換性は.profile
。
答え2
対話型またはログインシェルでない場合。~/.zshenv
以下は、「ファイルの開始/閉じる」セクションからのものですzshall(1)
。
Commands are then read from $ZDOTDIR/.zshenv. If the shell is a login
shell, commands are read from /etc/zsh/zprofile and then $ZDOT-
DIR/.zprofile. Then, if the shell is interactive, commands are read
from /etc/zsh/zshrc and then $ZDOTDIR/.zshrc. Finally, if the shell
is a login shell, /etc/zsh/zlogin and $ZDOTDIR/.zlogin are read.