我有一个由 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 个参数的单个环境变量到执行下一个脚本,有什么想法吗?
最佳答案
不使用变量:
( ${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
关于bash - 变量具有空格分隔的值我需要为下一个脚本获取 3 个值的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15667442/