Linux 环境变量配置的三个方法

本文详细介绍了在Linux环境下通过三种方式永久性添加路径到PATH环境变量的方法,包括修改/etc/profile、.bashrc文件及使用pathmunge函数,旨在提升开发者的工作效率并确保系统安全。

如想将一个路径加入到$PATH中,可以像下面这样做: 


1. 控制台中,不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。
 这个只针对特定的shell; 
$ PATH="$PATH:/my_new_path"    (关闭shell,会还原PATH)


2. 修改/etc/profile文件,如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。 这里是针对所有的用户的,所有的shell; 
$ vi /etc/profile 
在里面加入: 
export PATH="$PATH:/my_new_path" 

或者在/etc/bashrc里面作同样的修改。


3. 修改.bashrc文件,这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一个特定的用户,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。
$ vi /root/.bashrc 
在里面加入: 
export PATH="$PATH:/my_new_path" 

后两种方法一般需要重新注销系统才能生效,最后可以通过echo命令测试一下: 
$ echo $PATH 

输出已经是新路径了。



pathmunge详解

pathmunge是linux系统redhat系列版本系统变量/etc/profile中的函数,如果想要把某个二进制程序可以在所有的shell不用全路径运行,就需要将其所在的目录放在profile中,用过的命令正是pathmunge (目录命)

 

pathmunge{

if ! echo $PATH |/bin/egrep -q "(^|:)$1($|:)";then

if["$2"="after"];then

PATH=$PATH:$1

else

PATH=$1:$PATH

fi

fi

export PATH

}

 

pathmunge大致的作用是:判断当前系统的PATH中是否有该命令的目录,如果没有,则判断是要将该目录放于PATH之前还是之后

 

echo"PATH" 输出PATH变量的内容以供egrep查询,

grep是利用正则表达式来搜索文本的工具,egrep用的是扩展的正则表达式 

-q:do not writeanything to the standart output

“(^|:)$1($|:)”为要搜索的文本,()和|都是扩展的正则表达式,()查找组,|用或的方式查找字符串,^和$是基础的正则表达式,表示待查找的字符串在开头或结尾,&1是命令所在的目录,整个表达式的意思就是在PATH开头或以:开头,末尾是文本的末尾或以:为末尾的该目录


!表示查找的字符串不在PATH中

 

下来两个if很好理解,如果你想把该目录放于整个PATH变量的后边,pathmunge (目录名) after 则PATH=$PATH:$1,否则PATH=$1:PATH

export 将新设置的变量输出,使其在当前的shell和以后的shell中都生效

 

数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究(Matlab代码实现)内容概要:本文围绕“数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究”展开,提出了一种结合数据驱动与分布鲁棒优化方法的建模框架,用于解决电热综合能源系统在不确定性环境下的优化调度问题。研究采用两阶段优化结构,第一阶段进行预决策,第二阶段根据实际场景进行调整,通过引入1-范数和∞-范数约束来构建不确定集,有效刻画风电、负荷等不确定性变量的波动特性,提升模型的鲁棒性和实用性。文中提供了完整的Matlab代码实现,便于读者复现和验证算法性能,并结合具体案例分析了不同约束条件下系统运行的经济性与可靠性。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及工程技术人员,尤其适合从事综合能源系统、鲁棒优化、不确定性建模等相关领域研究的专业人士。; 使用场景及目标:①掌握数据驱动的分布鲁棒优化方法在综合能源系统中的应用;②理解1-范数和∞-范数在构建不确定集中的作用与差异;③学习两阶段鲁棒优化模型的建模思路与Matlab实现技巧,用于科研复现、论文写作或工程项目建模。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现细节,重点关注不确定集构建、两阶段模型结构设计及求解器调用方式,同时可尝试更换数据或调整约束参数以加深对模型鲁棒性的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值