2

我有一个由 sql 命令填充的 shell 脚本环境变量,该 sql 命令返回 3 列的多条记录。我需要传递给另一个 shell 脚本的每条记录。

QUERYRESULT=`${SQLPLUS_COMMAND} -s ${SQL_USER}/${SQL_PASSWD}@${SQL_SCHEMA}<<endl
set heading off  feedback off
select col1, col2,  col3
from mytable
where ......)
order by ......
;
exit
endl`
echo ${QUERYRESULT}

输出所有列的单行空格分隔,所有变量都保证不为空

 val1 val2 val3 val1 val2 val3 val1 val2 val3 ......

我需要为每条记录调用以下内容

nextScript.bash val1 val2 val3

我也可以运行查询但计算记录以确定我需要调用nextScript.bash 的次数。

关于如何从具有多个 3 个参数的单个 env 变量到执行下一个脚本的任何想法?

4

1 回答 1

2

不使用变量:

( ${SQLPLUS_COMMAND} -s ${SQL_USER}/${SQL_PASSWD}@${SQL_SCHEMA}<<endl
set heading off  feedback off
select col1, col2,  col3
from mytable
where ......)
order by ......
;
exit
endl
) | while read line;do echo $line; done
于 2013-03-27T19:39:25.570 回答