忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 1144 | 回复: 4

[文本处理] 关于shell脚本中如何原样输出环境变量 [复制链接]

求职 : Linux运维
论坛徽章:
10
丑牛
日期:2013-11-22 14:59:41数据库技术版块每日发帖之星
日期:2016-08-13 06:20:0015-16赛季CBA联赛之山西
日期:2016-08-03 10:35:38数据库技术版块每日发帖之星
日期:2016-07-31 06:20:002016科比退役纪念章
日期:2016-06-27 14:08:14数据库技术版块每日发帖之星
日期:2016-06-02 06:20:0015-16赛季CBA联赛之广东
日期:2016-05-20 15:06:2215-16赛季CBA联赛之深圳
日期:2016-01-29 16:27:402015亚冠之阿尔艾因
日期:2015-09-08 16:35:3615-16赛季CBA联赛之北京
日期:2017-03-28 18:45:36
发表于 2018-04-25 15:19 |显示全部楼层

请教一下:在shell脚本中如何原封不动的将红色字体写入到文件中,而不是把它转换成实际变量的值。麻烦看下要怎么修改?多谢啦!


  1. [root@A04-Test-172 install_oracle]# more addvarable_3.sh
  2. #!/bin/bash

  3. user1=`cat /etc/passwd|grep oracle|wc -l`
  4. if [ $user1 -eq 1 ];then
  5. su - oracle<<EOF
  6. echo "umask 022
  7. export ORACLE_BASE=/u01/app/oracle
  8. export ORACLE_HOME=<font color="#ff0000">$ORACLE_BASE</font>/product/11.2.0/client_1
  9. export PATH=<font color="#ff0000">$ORACLE_HOME</font>/bin:<font color="#ff0000">$PATH</font>" >> ~/.bash_profile;

  10. source ~/.bash_profile;
  11. EOF

  12. else
  13.    echo "The oracle user is non exists!"
  14.    exit;
  15. fi
复制代码



我尝试使用反斜杠和单引号,但都不凑效。

  1. echo "umask 022
  2. export ORACLE_BASE=/u01/app/oracle
  3. export ORACLE_HOME=<font color="#ff0000">'</font>$ORACLE_BASE<font color="#ff0000">'</font>/product/11.2.0/client_1      #这样会把单引号也写入到文件中
  4. export PATH=<font color="#ff0000">'</font>$ORACLE_HOME<font color="#ff0000">'</font>/bin:<font color="#ff0000">'</font>$PATH<font color="#ff0000">'</font>" >> ~/.bash_profile;
复制代码

  1. echo "umask 022
  2. export ORACLE_BASE=/u01/app/oracle
  3. export ORACLE_HOME=<font color="#ff0000">\</font>$ORACLE_BASE/product/11.2.0/client_1      #这样$ORACLE_BASE写入到文件中就变成空格了。
  4. export PATH=\$ORACLE_HOME/bin:$PATH" >> ~/.bash_profile;
复制代码








论坛徽章:
16
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之八一
日期:2018-07-05 10:34:0915-16赛季CBA联赛之八一
日期:2018-07-03 16:56:4615-16赛季CBA联赛之深圳
日期:2018-06-15 14:59:3715-16赛季CBA联赛之青岛
日期:2018-06-08 13:45:2815-16赛季CBA联赛之同曦
日期:2018-06-04 19:42:2015-16赛季CBA联赛之山东
日期:2018-05-30 12:44:59CU十四周年纪念徽章
日期:2018-05-15 11:36:3815-16赛季CBA联赛之广东
日期:2018-05-14 09:52:4215-16赛季CBA联赛之深圳
日期:2018-05-04 21:53:0815-16赛季CBA联赛之辽宁
日期:2018-04-02 14:03:3915-16赛季CBA联赛之北京
日期:2018-03-23 15:24:07
发表于 2018-04-25 18:01 |显示全部楼层
本帖最后由 wh7211 于 2018-04-25 18:02 编辑

回复 1# 夏寥寥


  1. su - oracle<<'EOF'
  2. cat<<'EOF1'>>~/.bash_profile
  3. umask 022
  4. export ORACLE_BASE=/u01/app/oracle
  5. export ORACLE_HOME=<font color="#ff0000">$ORACLE_BASE</font>/product/11.2.0/client_1
  6. export PATH=<font color="#ff0000">$ORACLE_HOME</font>/bin:<font color="#ff0000">$PATH</font>
  7. EOF1
  8. source ~/.bash_profile
  9. EOF
复制代码

论坛徽章:
0
发表于 2018-04-26 07:56 |显示全部楼层
回复 1# 夏寥寥

在$符前加三个反斜杠就可以了,如果把外层的双引号变成单引号的话,只需要在$符前加一个反斜杠

求职 : Linux运维
论坛徽章:
10
丑牛
日期:2013-11-22 14:59:41数据库技术版块每日发帖之星
日期:2016-08-13 06:20:0015-16赛季CBA联赛之山西
日期:2016-08-03 10:35:38数据库技术版块每日发帖之星
日期:2016-07-31 06:20:002016科比退役纪念章
日期:2016-06-27 14:08:14数据库技术版块每日发帖之星
日期:2016-06-02 06:20:0015-16赛季CBA联赛之广东
日期:2016-05-20 15:06:2215-16赛季CBA联赛之深圳
日期:2016-01-29 16:27:402015亚冠之阿尔艾因
日期:2015-09-08 16:35:3615-16赛季CBA联赛之北京
日期:2017-03-28 18:45:36
发表于 2018-04-26 09:40 |显示全部楼层
回复 2# wh7211

多谢!

求职 : Linux运维
论坛徽章:
10
丑牛
日期:2013-11-22 14:59:41数据库技术版块每日发帖之星
日期:2016-08-13 06:20:0015-16赛季CBA联赛之山西
日期:2016-08-03 10:35:38数据库技术版块每日发帖之星
日期:2016-07-31 06:20:002016科比退役纪念章
日期:2016-06-27 14:08:14数据库技术版块每日发帖之星
日期:2016-06-02 06:20:0015-16赛季CBA联赛之广东
日期:2016-05-20 15:06:2215-16赛季CBA联赛之深圳
日期:2016-01-29 16:27:402015亚冠之阿尔艾因
日期:2015-09-08 16:35:3615-16赛季CBA联赛之北京
日期:2017-03-28 18:45:36
发表于 2018-04-26 09:41 |显示全部楼层
回复 3# 孤独园主人

多谢!添加后确定可以啦!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP