免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1348 | 回复: 2

[其他] EOF的问题 [复制链接]

论坛徽章:
0
发表于 2016-11-28 17:53 |显示全部楼层
代码如下
  1. #!/usr/bin/env bash
  2. set -e
  3.     source /assets/colorecho
  4.     source ~/.bashrc
  5.       
  6.     alert_log="$ORACLE_BASE/diag/rdbms/orcl/$ORACLE_SID/trace/alert_$ORACLE_SID.log"
  7.     listener_log="$ORACLE_BASE/diag/tnslsnr/$HOSTNAME/listener/trace/listener.log"
  8.     pfile=$ORACLE_HOME/dbs/init$ORACLE_SID.ora
  9.       
  10.     # monitor $logfile  
  11.     monitor() {  
  12.         tail -F -n 0 $1 | while read line; do echo -e "$2: $line"; done
  13.     }
  14.       
  15.       
  16.     trap_db() {
  17.         trap "echo_red 'Caught SIGTERM signal, shutting down...'; stop" SIGTERM;
  18.         trap "echo_red 'Caught SIGINT signal, shutting down...'; stop" SIGINT;
  19.     }
  20.       
  21.     start_db() {
  22.         echo_yellow "Starting listener..."
  23.         monitor $listener_log listener &
  24.         lsnrctl start | while read line; do echo -e "lsnrctl: $line"; done
  25.         MON_LSNR_PID=$!
  26.         echo_yellow "Starting database..."
  27.         trap_db
  28.         monitor $alert_log alertlog &
  29.         MON_ALERT_PID=$!
  30. sqlplus / as sysdba <<-EOF
  31.             pro Starting with pfile='$pfile' ...
  32.             startup;
  33.             alter system register;
  34.             exit 0
  35. EOF
  36.         while read line; do echo -e "sqlplus: $line"; done
  37.         wait $MON_ALERT_PID
  38.     }
  39.       
  40.     create_db() {
  41.         echo_yellow "Database does not exist. Creating database..."
  42.         date "+%F %T"
  43.         monitor $alert_log alertlog &
  44.         MON_ALERT_PID=$!
  45.         monitor $listener_log listener &
  46.         #lsnrctl start | while read line; do echo -e "lsnrctl: $line"; done  
  47.         #MON_LSNR_PID=$!  
  48.         echo "START DBCA"
  49.         dbca -silent -createDatabase -responseFile /assets/dbca.rsp
  50.         echo_green "Database created."
  51.         date "+%F %T"
  52.         change_dpdump_dir
  53.             touch $pfile
  54.         trap_db
  55.             kill $MON_ALERT_PID
  56.         #wait $MON_ALERT_PID
  57.     }
  58.       
  59.     stop() {
  60.         trap '' SIGINT SIGTERM
  61.         shu_immediate
  62.         echo_yellow "Shutting down listener..."
  63.         lsnrctl stop | while read line; do echo -e "lsnrctl: $line"; done
  64.         kill $MON_ALERT_PID $MON_LSNR_PID
  65.         exit 0
  66.     }
  67.       
  68.     shu_immediate() {
  69.         ps -ef | grep ora_pmon | grep -v grep > /dev/null && \
  70.         echo_yellow "Shutting down the database..." && \
  71.         sqlplus / as sysdba <<-EOF
  72.             set echo on
  73.             shutdown immediate;
  74.             exit 0
  75. EOF
  76.         while read line; do echo -e "sqlplus: $line"; done
  77.     }
  78.       
  79.     change_dpdump_dir () {
  80.         echo_green "Changind dpdump dir to /opt/oracle/dpdump"
  81.         sqlplus / as sysdba <<-EOF
  82.             create or replace directory data_pump_dir as '/opt/oracle/dpdump';
  83.             commit;
  84.             exit 0
  85. EOF
  86.         while read line; do echo -e "sqlplus: $line"; done
  87.     }
  88.       
  89.     chmod 777 /u01/oracle/dpdump
  90.       
  91.     echo "Checking shared memory..."
  92.     df -h | grep "Mounted on" && df -h | egrep --color "^.*/dev/shm" || echo "Shared memory is not mounted."
  93.     if [ ! -f $pfile ]; then
  94.       create_db;
  95.     fi
  96.     start_db
复制代码
运行的时候老是报
warning: here-document at line 71 delimited by end-of-file (wanted `EOF')
line 97: syntax error: unexpected end of file 错误,不知道哪里的问题

论坛徽章:
20
卯兔
日期:2015-01-26 22:05:142015亚冠之萨济拖拉机
日期:2015-09-10 15:15:282015亚冠之阿尔希拉尔
日期:2015-09-25 17:37:53程序设计版块每日发帖之星
日期:2015-10-03 06:20:00程序设计版块每日发帖之星
日期:2015-12-09 06:20:00CU十四周年纪念徽章
日期:2015-12-17 09:07:15程序设计版块每日发帖之星
日期:2015-12-25 06:20:34程序设计版块每日发帖之星
日期:2015-12-25 06:20:34程序设计版块每日发帖之星
日期:2015-12-25 06:20:342015亚冠之广州富力
日期:2015-08-27 19:29:56每日论坛发贴之星
日期:2015-08-26 06:20:002015亚冠之阿尔希拉尔
日期:2015-05-18 17:26:27
发表于 2016-11-28 23:43 |显示全部楼层
回复 1# 零度冰水
        sqlplus / as sysdba <<-EOF...
...
...
EOF
结束的EOF多了空格

论坛徽章:
0
发表于 2016-11-29 09:01 |显示全部楼层
回复 2# songyc_2015

谢谢,一个空格调了好久
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP