分类
标签
Bash C/C++ CI/CD CMU Cookie CS231n CS50 CSS CTF Diffie-Hellman Emmet Floyd算法 FPGA GitHub Actions Github Pages golang GOT表 Hexo HTML HTTP Java JavaScript Jupyter LeetCode Linux logrus MIT Missing Semester NumPy OpenSSL PLT表 Python RSA Session Shell sing-box socket SQL SQLite SQL注入 SVD SymPy TCP/IP Verilog Web开发 writeup XPath ZJU校巴 主定理 代理 信息安全 内存 前端 动态规划 动态链接 博客 压缩 参考 后端 命令行 国际交流 图像处理 图解 堆 堆排序 复杂度分析 密码学 开发 归并排序 微积分 心得 快速排序 抽象代数 搜索 操作系统 数字电路 数字逻辑 数学 数据库 数据结构 数论 文件系统 时间戳 有限状态自动机 机器学习 正则表达式 汇编 游戏开发 爬虫 物理 环境配置 科学计算 竞赛 笔记 算法 线性代数 编程语言 编译 网络 网络安全 背包DP 计算机基础 计算机视觉 计算机网络 课程 课程推荐 谱定理 踩坑 逆向 逆向工程 逻辑电路 非对称加密 题解 高斯消元法 魔塔
621 字
3 分钟
环境变量path是什么
有什么用
当你想要在命令行启动某个程序,通常你要cd进入到这个程序所在的目录,或者键入程序的完整路径。如果经常使用它,这样太繁琐了。环境变量path可以告诉命令行去哪里找程序的位置,这样,只需要键入程序名称,无需键入完整路径,就可以打开程序。
具体来说,搜索程序的顺序一般是这样的:
- 先在当前的工作路径寻找
- 如果未找到,在环境变量的path中寻找
- 如果仍未找到,报错
举个例子
假如我们用C语言写了一个简单的加法计算器
// /root/myCommands/calculator.cpp
#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
不仅不用输入前面的路径,现在连./
也不用输入了