PATH环境 变量
PATH环境 变量
$HOME/.bash_profile和/etc/profile 两个文件在登陆用户的时候会执行,
/etc/profile 所有用户都执行,$HOME/.bash_profile为当前用户执行
如何修改环境变量?
profile 里面有例子 PATH=$PATH:$HOME/bin
如果你要把某个目录加到path中(有什么好处呢?)要怎么做呢?
vi $HOME/.bash_profile,在PATH=$PATH:$HOME/bin 后面添加 在PATH=$PATH:$HOME/bin:目录路径(比如 PATH=$PATH:$HOME/bin:/home/zzx/zzx/bin)
这样添加后的好处就是在/home/zzx/zzx/bin下的脚本可以直接运行(如果有x权限) 比如/home/zzx/zzx/bin下的一个脚本1.sh 本来需要cd到/home/zzx/zzx/bin 然后 sh 1.sh 现在可以在任意目录下 敲 1.sh 就可以运行脚本
如何立即生效?
source .profile 或者 . .profile (用点或者source unix中没有source只能用点)
. 1.sh和 sh 1.sh的区别
. 1.sh 会把(或 . ./sh)脚本中的变量加到环境中(set可以看到) 比如脚本中写 zzx="nihao" 运行完脚本 echo $zzx 本来应该为空 现在就有结果nihao
而 sh(或./sh)运行不会
sh -> ksh -> bash
sh或bsh,全名是bourne shell。它最早出现,是标准shell。后两者都兼容它。
ksh和bash后续加入了历史记录,交互特性,数组,等新功能。
ksh在unix上使用较多。比如hpux aix。
bash在linux上使用较多。
今天在虚机上装了个CENTOS。装好后,好多命令都提示找不到。百度后,问题解决。将处理方法记录下来,以备日后使用。
------------------------------------无敌分割线---------------------------------------
# ifconfig
提示命令不存在
使用 # /sbin/ifconfig 即可
原因: 系统默认的环境变量设置不对
在 普通用户 和root用户下分别执行echo $PATH,PATH里少了四个地址:/sbin:/usr/sbin:/usr/local/sbin:/usr/kerberos/sbin
而,ifconfig恰恰就在/sbin里面。
或者
cat /etc/profile, 可以发现没有关于/sbin的环境变量。
su 进入root,vi /etc/profile
在文件末加入以下语句:
PATH=$PATH:/sbin #在PATH变量后追加/sbin目录
export PATH=$PATH:/sbin#设置变量为全局的
保存并退出。
修改/home/用户/.bash_profile,在PATH后面添加/sbin:/usr/sbin:/usr/local/sbin:/usr/kerberos/sbin这几个路径。
改完之后,执行命令:. .bash_profile,也可以注销下或者重启才能使刚刚修改的内容生效。
再来sudo ifconfig , 就OK了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异