我绝不是Linux上的新手用户,但我只是不明白为什么要放。在这个命令面前:
. ~/nvm/nvm.sh
对于那些知道的人来说,这是如何激活nvm bash脚本(它允许NodeJS Universe中的虚拟环境)。但如果一个人没有把这个开始时期放在命令面前,那么事情就不会有效。据我所知,“。”表示当前目录。但如果我这样做:
cd ~/nvm
nvm.sh
或者
~/nvm/nvm.sh
它无效。为什么?为什么一个人必须“。”然后在运行此命令之前使用空格。
答案 0 :(得分:12)
. ~/nvm/nvm.sh
它要求口译员解释当前流程中的脚本。在bash
中,它相当于:
source ~/nvm/nvm.sh
如果您希望更改环境(变量等),则需要在当前进程中执行脚本。您可以使用help .
~/nvm/nvm.sh
这个实际上在新的bash过程中运行脚本。它不能改变父项的环境,例如它无法将变量导出到父进程。
答案 1 :(得分:2)
.
表示在当前shell中运行,因此您在脚本中设置或设置的环境变量是共享的。我打算为脚本启动一个新的shell,将它放在一个无法运行的环境中。