如何将变量通过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

http://www.cnblogs.com/haore147/p/3633116.html

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

echo "
TMP=/tmp; export TMP

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

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

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