Hier ist mein Skript
#!/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
Beim Ausführen dieses Skripts erhalte ich die folgende Fehlermeldung:
Syntax error at line 18 : `<<' is not matched.
Antwort1
Der Code ist OK und bash
enthält nicht die von Dir genannte Fehlermeldung.
Versuchen:
#!/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
Und überprüfen Sie. Ich nehme also an, dass Ihre Nachricht vom Befehl stammt sqlplus
.