0
我有一个脚本,做一个数据库查询(计数),但结果不是一个整数,我试图与让利,但有能力改变这一点,运气好的话KSH返回值不是整数
SQL="SELECT COUNT(*), INTRUDER FROM intruders WHERE UUR BETWEEN '${START}' and '${EINDE}' GROUP BY INTRUDER;"
实际MySQL命令
RESULT=$(mysql -u ${MYSQLUSER} -p${MYSQLPWD} -h ${SERVER} ${DATABASE} -BsNe "${SQL}")
计算
for RECORD in ${RESULT}
do
let TOTAL=$(echo ${RECORD} | awk '{print $1}')
if [[ ${TOTAL} -ge ${MAXTRY} ]]; then
## Do something ....
echo ${RECORD} | awk '{print $2}'
fi
done
错误的循环: ./scrip t.sh [42]:let:TOTAL = 3 4:算术语法错误
Wha t是获取该shell脚本值之前的RECORD的内容? – fpmurphy1 2014-10-10 13:04:27
这里有不同的问题,你应该选择另一种方法(在下面)。在填充RESULT变量时,您应该将正确的站点放在双引号中以获取所有行。这不会解决所有问题,for循环将空格和换行符视为字段分隔符。 – 2014-10-10 21:34:21