linux环境变量备份,Linux环境变量的备份与恢复

本文介绍了一种在开发过程中管理和备份环境变量的方法,包括创建备份脚本bak(),用于导出并保存PATH、LD_LIBRARY_PATH、SDGHOME和ORACLE_HOME等重要环境变量,以及恢复环境变量的restore()函数。通过源码操作,解决了脚本中环境变量跨shell的问题。
摘要由CSDN通过智能技术生成

在开发过程中对环境变量的修改是难免的,手工修改环境变量痛苦不言而喻,而export也只能影响到当前shell的。在脚本中修改的变量只能通过source才能使父shell生效。自己写了一个备份环境变量和恢复的脚本,有待完善,但能用。

BAK="env.bak"

function bak(){

echo "export PATH=$PATH" > ${BAK}

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> ${BAK}

echo "export SDGHOME=$SDGHOME" >> ${BAK}

echo "export ORACLE_HOME=$ORACLE_HOME" >> ${BAK}

}

function change(){

AR=$1

RE=`sed -n '/${AR}=/'p ${RC}`

RB="export `sed -n '/${AR}=/'p ${BAK}`"

if [ "${RE}" == "" ];then

echo ${RB} >> ${RC}

else

sed -i "s/^\(${AR}=\).*/&${RB}" >> ${RC}

fi

}

function restore(){

RC=~/.bashrc

change "PATH"

change "LD_LIBARY_PAHT"

change "SDGHOME"

change "ORACLE_HOME"

}

short_options="b:r:n"

long_options="back:,restore:,name:"

opts=`getopt -o $short_options --long $long_options`

case $1 in

-b|--back)

echo "back enviroment, you can use \"source ${BAK}\" use bak enviroment"

bak

;;

-r|--restore)

echo "restore enviroment for [[`whoami`]],you must user new show,enable this enviroment"

restore

;;

-n|--name)

BAK=$1

;;

*)

echo "Internal error!"

exit 1

;;

esac

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值