我一直在使用我用bash编写的程序与mysql数据库交互,我切换到microsoft sql server,现在我有一个非常奇怪的问题。下面的代码使用mysql。使用microsoft sql server,我可以看到它成功地计算了数。我的“echo $ id”显示值为23,但问题是bash spits out“语法错误:循环变量错误”。我很困惑为什么它这样做23是一个整数值。请帮助。
id="`tsql -S Server\\SqlServerName -U Databas_Name -P Password -o q <<EOF
use numbers
go
SELECT COUNT(*) FROM lotsa_numbers
go
quit
EOF`"
echo $id
for (( c=0; c=>$id-1; c++ ))
do
echo $c
done
答案 0 :(得分:1)
问题可能是领先或尾随空白。处理这个的方法的数量,一个简单的方法是通过不引用变量来使用bash拆分(在某些情况下可能会导致问题,但如果我们试图获取整数则不会)
id=$(echo $id)