2014-02-27 51 views
0
$ sqlcmd -Q "select state from sys.databases where name='test1'" 
state 
----- 
    6 

(1 rows affected) 

所以我需要的是在這種情況下使用結果的整數6作爲一個if語句的變量。mssql cygwin結果到變量

我該怎麼做?

sqlcmd -Q "select state from sys.databases where name='test1'" | grep -v state | sed 's/^$\|^[ \t]*\|-\|(\|)\|1\|rows affected//g' 

結果:

+0

如果'name'是主鍵(因此只返回一個條目)&它總是在第三行返回你的答案,你可以用這個信息作爲'awk'NR == 3''或者'sed'3!d''&用'$( ....)'語法。 – anishsane

回答

0

用來存儲指令的結果的變量,然後測試變量:

myVar=$(sqlcmd -Q "select state from sys.databases where name='test1'" | grep -v state | sed 's/^$\|^[ \t]*\|-\|(\|)\|1\|rows affected//g') 

if [ $myVar -eq 6 ]; then 
    ...etc 
fi