环境变量是如何和命令关联,然后被系统识别的

比如在系统安装了Node,这时候如果直接执行node命令,会提示找不到命令。

比如

node -v

//提示
-bash: Node: command not found

这时候就会配置环境变量,比如:

/root/node/bin

这时候就能够系统就能够正确执行node命令了。
那么系统是怎么知道我输入 node 就是需要去执行 /root/node/bin 这个文件呢?

并没有定义类似下面的关联关系

node=/root/node/bin

是bin文件里有指定 node 命令吗? 设置环境变量的时候,系统就知道这种对应关系了?

阅读 1.9k
3 个回答

环境变量里面配置的是目录,系统会在这些目录下扫描对应名字的可执行文件。

属于操作系统方面的知识了应该。在 PATH 中定义的。可以 echo ${PATH} 查看路径。会以此从所列的路径中去找。

环境变量,指的是系统工作环境的一些选项或属性参数。

大白话就是给系统调用设置的一个 key-value 的路径集合

当用户运行某些程序时,系统除了会在当前文件夹中寻找某些文件外,还会到环境参数的 默认路径 中去查找程序运行时所需要的系统文件。


已参与了 SegmentFault 思否「问答」打卡,欢迎正在阅读的你也加入。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题