我有这个脚本,它从 SQL 查询中检索参数(一个数字)并将其分配给一个变量。有两个选项 - SQL 查询找到一个值,然后脚本执行回显“账单周期编号是 $v_bc”,或者它没有找到一个值,它假设回显“未找到账单周期参数”。我的 if 条件有问题。
这就是我想出的:
#!/bin/bash
v_bc=`sqlplus -s /@bscsprod <<EOF
set pagesize 0
select billcycle from bc_run
where billcycle not in (50,16)
and control_group_ind is null
and billseqno=6043;
EOF`
if [ -z "$v_bc" ]; then echo no billcycle parameter found
else echo "the billcycle parameter is $v_bc"
fi
当 billseqno=6043 时,则表示 v_bc=25,当我运行脚本时,结果为:“billcycle 参数为 25”。这就是我要做的。当我设置 billseqno=6042 时,根据上面的 SQL 查询,v_bc 将没有任何值,因此我想要它做的是 echo "no billcycle parameter found"。相反,我得到
“账单周期参数是
未选择任何行”。
有什么建议么 ?
非常感谢阿萨夫。