Синтаксическая ошибка в строке 18: `

Синтаксическая ошибка в строке 18: `

Вот мой сценарий

#!/bin/bash
stty intr ^C erase ^H kill ^U
p_id=`ps -ef|grep iucmh|grep iuc|grep MSC015|grep START|awk -F" " '{print $2}'`

vLogin=`echo "iucmh/iucmh123@4s_MH"`

if [ -z "$p_id" ]; then
     sqlplus -s ${vLogin} <<EOF
     set pagesize 0 
     feedback off 
     verify off 
     heading off 
     echo off;
     UPDATE  IUC_CON_PARAMETERS
     SET F_PARAM_VALUE=0
     WHERE F_PARAM_NAME LIKE 'MSC015_PROCESS_ID'
     EXIT;
EOF

    echo "Working"
#     fi
else
     echo "Process is already Running"
     fi

При запуске этого скрипта возникает следующая ошибка:

Syntax error at line 18 : `<<' is not matched.

решение1

Код в порядке и bashне содержит упомянутого вами сообщения об ошибке.

Пытаться:

#!/bin/bash

if [ bla ]; then
     cat <<EOF
     set pagesize 0 
     feedback off 
     verify off 
     heading off 
     echo off;
     UPDATE  IUC_CON_PARAMETERS
     SET F_PARAM_VALUE=0
     WHERE F_PARAM_NAME LIKE 'MSC015_PROCESS_ID'
     EXIT;
EOF

    echo "Working"
#     fi
else
     echo "Process is already Running"
     fi

И проверьте. Так что я предполагаю, что ваше сообщение от команды sqlplus.

Связанный контент