我在 64 位 Amazon Linux 2014.09 Web 服务器上安装节点版本管理器时发生了一个简单的事件。当我执行此安装脚本时
curl https://raw.githubusercontent.com/creationix/nvm/v0.23.3/install.sh | bash
NVM 安装到我的文件系统 ~/.nvm/
~/.nvm 与 ~/nvm 相比有何意义?具体来说,nvm 前面的“ . ”是什么意思?
这尤其重要,因为当我在 ~/ 文件夹中执行“ ll ”时,我看不到任何文件。但是,当我执行 cd ~/.nvm 时,我会进入 ~/.nvm 文件夹。
另外,为了让 nvm 在终端中工作,我必须以这种方式“获取” nvm.sh 文件
source ~/.nvm/nvm.sh
这个源命令完成了什么任务?
注意:一切正常,这只是出于好奇,我想更好地理解,以便我对服务器配置等感到更舒服。
非常感谢!
答案1
.
文件名开头的字符使它隐.
看到隐藏文件从 shell 中你可以执行ls -a
(或ls -A
)。
注意差异:
.myfile.sh # hidden file
. myfile.sh # source the file myfile.sh
source
(或.
)是 的内部命令bash
。您可以使用 访问它们的定义help
。
使用命令type
你可以了解某个命令是否是内置 shell或不。
例如该命令
type source /bin/ls
将回答
源是 shell 内置的
/bin/ls 是 /bin/ls
help
然后您可以用或分别向系统询问有关命令的信息man
。
您help source
可以阅读
源:源文件名 [参数]
在当前 shell 中执行来自文件的命令。在当前 shell 中读取并执行来自 FILENAME 的命令。$PATH 中的条目用于查找包含 FILENAME 的目录。如果提供了任何参数,它们将成为执行 FILENAME 时的位置参数。
从man ls
-a、--全部
不要忽略以...开头的条目。