unix nohup sqlplus 不工作

unix nohup sqlplus not working

尝试在一个 NOHUP 命令中 运行 所有 sql 脚本。下面是我的代码。但是,它不是 运行ning 基于下面的 nohup 模式。也没有错误。如何在一个 NOHUP 命令中 运行 以下所有内容?

nohup sqlplus -S /NOLOG << %EOF% > engine_error.log
WHENEVER SQLERROR EXIT 1;
@$Level2/passFile server05
@engine_check.sql $stroke1 $bore1 
@engine_start.sql 
%EOF% &

尝试将其放入脚本中,然后 nohup 脚本。 nohup 可能因为命令而感到困惑。

#!/usr/bin/env 
#query.sh
sqlplus -S /NOLOG << %EOF% > engine_error.log
WHENEVER SQLERROR EXIT 1;
@$Level2/passFile server05
@engine_check.sql $stroke1 $bore1 
@engine_start.sql 
EOF

然后在您的shell中尝试这样做

nohup query.sh &

如果您有一个必须启动某些后台作业的脚本,请制作一个启动功能的脚本 &nohup 您的脚本。
当您的脚本 startit.sh 看起来像

function f1 {
   echo "f1 start"
   sleep 2
   echo "f1 end"
}

function f2 {
   echo "f2 start"
   sleep 1
   echo "f2 end"
}

function f3 {
   echo "f3 start"
   sleep 1
   cat <<END
f3 start here
more f3
f3 end here
END
   echo "f3 end"
}

f1 &
f2
f3 &

致电nohup startit.sh

问题是“&”(或任何符号)与 EndOfMessage-String 在同一行。

“EOF &”不等于“EOF”->“内联脚本”仍在等待“EOF”。 在“<<”后仅定义字符串的一行可以完成“内联脚本”: