while IFS=# read -r process_id source destination type
do
echo "Process id: $process_id"
echo "Source: $source"
echo "Destination: $destination"
case "$type" in
2)
echo "Type is outbound: $type"
contact=$(sqlplus -s ${SQLPLUS_INFO} <<EOF
SET PAGESIZE 0
SELECT email FROM table WHERE partner = '${destination}';
exit
EOF
)
echo
echo ${contact}
echo
;;
总部设在上面的代码中,如何从$目标中的值传递给查询?上面的例子不工作,即使是这些其他的:
SELECT email FROM table WHERE partner = '"${destination}"';
SELECT email FROM table WHERE partner = '$destination';
任何帮助将是有益的!谢谢!
取出'contact = $('和')'来查看是否是问题的根源。我希望这能够按原样运行,但命令替换('$(...)')可能是一个问题。祝你好运。 – shellter
作为一个单独的想法,在调用'contact = $(....)'之前添加'export destination'。祝你好运。 – shellter
contact = sqlplus -s $ {SQLPLUS_INFO} << EOF SET PAGESIZE 0 SELECT email FROM table WHERE partner ='$ {destination}'; 退出 EOF 没有工作,以及,它返回: 行73:语法错误:文件意外结束 只是用()没有工作,以及,返回: 语法错误附近意外的标记' <<' 。 。 PS:导出也没有工作 @shellter,@Emmanuel –