weixin_39759032
枫雪yuki
采纳率100%
2017-08-26 06:08 阅读 7.5k

如何将变量通过shell写入到文件中去

各位大神我现在想将Oracle的环境变量现成脚本自动写入,使用echo命令后发现无法将
$ORACLE_BASE这些变量写入进去。

echo "
TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME

ORACLE_SID=orcl; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

PATH=/usr/sbin:$PATH; export PATH

PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export LANG=AMERICAN_AMERICA.ZHS16GBK

stty erase ^H" >> /home/oracle/.bash_profile 

输出结果:

 TMP=/tmp; export TMP

TMPDIR=; export TMPDIR

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=/product/11.2.0/db_1g/product/11.2.0/db_1; export ORACLE_HOME

ORACLE_SID=orcl; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

PATH=/usr/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin; export PATH

PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin; export PATH

LD_LIBRARY_PATH=/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

CLASSPATH=/jre:/jlib:/rdbms/jlib; export CLASSPATH

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export LANG=AMERICAN_AMERICA.ZHS16GBK

stty erase ^H
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    sun1021873926 夕阳雨晴 2017-08-27 01:37
    点赞 1 评论 复制链接分享
  • weixin_44674133 职场小白~ 2020-04-11 17:43

    echo "
    TMP=/tmp; export TMP

    TMPDIR=\$TMP; export TMPDIR">> /home/oracle/.bash_profile
    执行后:

    TMP=/tmp; export TMP

    TMPDIR=$TMP; export TMPDIR

    用echo导入变量到指定文件时,在引用的变量前加“\”。

    点赞 1 评论 复制链接分享
  • u014626258 瓶丨盖 2017-08-29 01:57

    1、随意新建一个文件,试试能不能写到新建的文件里面去;看看有没有权限

    点赞 评论 复制链接分享

相关推荐