我一直在使用我用 bash 编写的程序与 mysql 数据库交互,我切换到 Microsoft sql server,现在我遇到了一个非常奇怪的问题。下面的代码适用于 mysql。使用 microsoft sql server 我可以看到它成功地提取了计数。我的“echo $id”显示了一个 23 的值,但问题是 bash 吐出“语法错误:循环变量不好”。我很困惑为什么它这样做 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
最佳答案
问题可能是前导或尾随空格。处理这个问题的方法有很多,一个简单的方法是通过不引用变量来使用 bash 拆分(在某些情况下可能会导致问题,但如果我们试图获取整数则不会)
id=$(echo $id)
关于mysql - 带有sql server的bash中的坏循环变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21472026/