shell 脚本获取不到sqlplus执行结果

#!/bin/bash
ASM=`sqlplus /nolog << EOF > /home/oracle/ASM.log
set heading off feedback off pagesize 0 verify off echo off
conn ddps/ddps@10.23.23.33
select total_mb, free_mb/1024 from v\\\$asm_diskgroup;
exit;
EOF`
echo ASM is "${ASM}"
if [ -z "$ASM" ]
then
ASM_SMS='query ASM error, please check quickly'
else
ASM_TOTAL=echo "$ASM"|cut -d " " -f1
ASM_FREE=echo "$ASM"|cut -d " " -f2
echo "ASM_TOTAL is ${ASM_TOTAL}"
echo "ASM_FREE is ${ASM_FREE}"
fi
请教各位高人,为什么获取不到ASM的值呢?获取出来的是空。如红色字体显示部分。
执行结果:ASM is

请各位大侠不吝赐教,谢谢。

你本来是想将sqlplus的返回结果赋值给ASM变量,但是你用到了sqlplus /nolog << EOF > /home/oracle/ASM.log,将执行结果重定向到/home/oracle/ASM.log,这时候ASM里面就是空的了。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网