621 字
3 分钟
环境变量path是什么
有什么用
当你想要在命令行启动某个程序,通常你要cd进入到这个程序所在的目录,或者键入程序的完整路径。如果经常使用它,这样太繁琐了。环境变量path可以告诉命令行去哪里找程序的位置,这样,只需要键入程序名称,无需键入完整路径,就可以打开程序。
具体来说,搜索程序的顺序一般是这样的:
- 先在当前的工作路径寻找
- 如果未找到,在环境变量的path中寻找
- 如果仍未找到,报错
举个例子
假如我们用C语言写了一个简单的加法计算器
#include<stdio.h>
int main(int argc, char *argv[]) { int ans = 0, tmp, i; for (i = 1; i < argc; ++i) { sscanf(argv[i], "%d", &tmp); ans += tmp; } printf("%d\n", ans); return 0;}
编译运行它
gcc calculator.c -o calculator./calculator 114 514# 628
很好,但是如果我们换个路径呢
cd /./calculator 114 514# ./calculator: No such file or directory
这是当然的,因为根目录下并没有calculator
如果要调用它,而不改变工作目录,必须写出完整路径。
/root/myCommands/calculator 114 514# 628
每次都要键入这么长的路径,确实不太方便,因此还是使用环境变量path简化操作吧!
怎么修改
linux系统
linux系统下使用echo $PATH
即可输出环境变量path。
修改path分为临时、用户级、系统级三种:
export PATH=$PATH:/root/myCommands/
这样可以临时地改变$PATH
,这里是添加了新的路径在原本那些路径的后面,如果要覆盖旧的路径(不建议这么做),就使用export PATH=/root/myCommands/
- 把上面临时输入的命令写到“~/.profile”就可以为当前用户修改
$PATH
- 把上面临时输入的命令写到“/etc/profile”就可以为所有用户修改
$PATH
windows系统
Windows系统下按Win+R,输入“sysdm.cpl”,在弹出的窗口选择“高级”,点击右下角的“环境变量”,在上方的“用户变量”(对当前用户起作用)或者下方的“系统变量”(对所有用户起作用)里找到“path”,点击编辑,就可以看到所有的环境变量,并且可以编辑已有的路径,或者添加新的路径。
让我们回到刚刚的例子
pwd# /export PATH=$PATH:/root/myCommands/calculator 114 514# 628
不仅不用输入前面的路径,现在连./
也不用输入了