2013-10-14 49 views
3

想不通這一個,如果我直接在shell執行該命令,然後將它成功執行,而是從一個腳本文件我碰到下面的錯誤運行:bash腳本SQLITE - 太多的選擇

的sqlite3 :錯誤:選項太多:「INTO」

#!/bin/bash 
sql="\"INSERT INTO keys ('date','chan','key','name','desc','ser','ep','cat') VALUES('xxx','xxx','xxxx','xxxx','xxxxx.','xxx','xxx','xxxx');\""  
echo $sql 
sqlite3 mydb.db $sql 

有關這個問題可能存在的任何想法?

+0

雙引號的'$ sql'變量的腳本:'sqlite3的mydb.db 「$ SQL」' – higuaro

+0

輝煌,感謝這麼多 – crankshaft

+0

不客氣=) – higuaro

回答

2

雙引號的$sql變量在腳本:

#!/bin/bash 
sql="\"INSERT INTO keys ('date','chan','key','name','desc','ser','ep','cat') VALUES('xxx','xxx','xxxx','xxxx','xxxxx.','xxx','xxx','xxxx');\""  
echo $sql 
sqlite3 mydb.db "$sql" 
0

在我的情況下,問題是二進制我執行:

cat /opt/sbin/sqlite3: 
#!/bin/sh 
export LD_LIBRARY_PATH="/opt/lib:$LD_LIBRARY_PATH" 
/opt/sbin/sqlite3.real [email protected] 

所以,如果我執行/ opt/sbin目錄/ sqlite3的。真正的我沒有問題。