4

私は決してLinuxの初心者ユーザーではありませんが、なぜ入れなければならないのか理解できません。このコマンドの前:

. ~/nvm/nvm.sh

知っている人にとっては、これがnvm bashスクリプトをアクティブ化する方法です(NodeJSユニバースの仮想環境を可能にします)。しかし、その開始期間をコマンドの前に置かないと、うまくいきません。私の知る限り、「。」現在のディレクトリを意味します。しかし、私がこれを行う場合:

cd ~/nvm
nvm.sh

またはこれ

~/nvm/nvm.sh

うまくいかないだろう。なんで?なぜ「。」を付けなければならないのですか。次に、このコマンドを実行する前にスペースを入力します。

4

2 に答える 2

13
. ~/nvm/nvm.sh

現在のプロセスでスクリプトを解釈するようにインタプリタに要求します。これbashは次と同等です。

source ~/nvm/nvm.sh

環境(変数など)を変更する場合は、現在のプロセスでスクリプトを実行する必要があります。あなたはでより多くの詳細を見ることができますhelp .


~/nvm/nvm.sh

これは実際に新しいbashプロセスでスクリプトを実行します。親の環境を変更することはできません。たとえば、変数を親プロセスにエクスポートすることはできません。

于 2012-09-05T16:50:16.403 に答える
2

手段は現在の.シェルで実行されるため、設定した、またはスクリプトで設定された環境変数が共有されます。スクリプトの新しいシェルを起動すると、実行できない環境にスクリプトが配置されます。

于 2012-09-05T16:51:11.380 に答える