mysql - 带有sql server的bash中的坏循环变量

标签 mysql sql-server bash for-loop

我一直在使用我用 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/

相关文章:

mysql - 如何在不使用 View 的情况下搜索 MySQL 数据透视表

sql-server - 将SSRS中的多个值参数传递给存储过程

linux - Grep 并增加值

PHP页面不显示

mysql - 我怎样才能最好地构建一个包含很多潜在列或重复行的链接/连接表?

MySQL HAVING 和 WHERE 查询不同结果

python - 使用python将txt插入到sql server

sql-server - SQL 查询 - 我可以不这样做吗?

linux - bash 脚本 : Count max characters in line across text files that match filter

linux - 使用shell脚本从字符串中提取信息