免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3067 | 回复: 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;
复制代码








论坛徽章:
25
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之八一
日期:2018-07-05 10:34:09黑曼巴
日期:2018-07-06 15:19:5015-16赛季CBA联赛之佛山
日期:2018-08-03 13:19:3315-16赛季CBA联赛之山西
日期:2018-08-07 19:46:2315-16赛季CBA联赛之广夏
日期:2018-08-08 19:31:5015-16赛季CBA联赛之青岛
日期:2018-11-26 15:21:5015-16赛季CBA联赛之上海
日期:2018-12-11 09:45:3219周年集字徽章-年
日期:2020-04-18 23:54:5215-16赛季CBA联赛之深圳
日期:2020-04-19 21:40:19黑曼巴
日期:2022-04-03 17:55:1315-16赛季CBA联赛之八一
日期:2018-07-03 16:56:46
发表于 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号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP