Linux環境變數的備份與恢複

來源:互聯網
上載者:User

在開發過程中對環境變數的修改是難免的,手工修改環境變數痛苦不言而喻,而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
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.