2014-01-10 22 views
0

我有這樣的代碼:如果「命令語句結果未發現error`

ColumnInformation=`sqlite3 $database "PRAGMA table_info($table);"` 

和它的作品完美,但我需要添加if聲明:

if [$table != "Order"]; then 
    ColumnInformation=`sqlite3 $database "PRAGMA table_info($table);"` 
else 
    ColumnInformation=`sqlite3 $database "PRAGMA table_info('Order');"` 
fi 

它拋出command not found錯誤。你能告訴我爲什麼嗎?

最好,託梅克

+1

您需要'['和']''周圍的空格。 – devnull

回答

2

可能是缺乏空間的[]兩側,你需要使用「反引號」,以得到一個子命令的輸出:

if [ $table != "Order" ]; then 
    ColumnInformation=`sqlite3 $database "PRAGMA table_info('$table');"` 
else 
    ColumnInformation=`sqlite3 $database "PRAGMA table_info('Order');"` 
fi 

但是測試看起來毫無意義,因爲$table無論如何都是第二種情況下的「訂單」。另請注意,在第一種情況下,您錯過了$table附近的單引號。