Linux环境变量的备份与恢复

企鹅博客 2019年8月13日23:15:47 评论 369

在Linux开发过程中对环境变量的修改是难免的,手工修改环境变量痛苦不言而喻,而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:"

weinxin
欢迎加入中国SEO站长博客之家
本站的所有资源都会上传分享到博客之家,希望大家互相学习交流进步。
企鹅博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: