3

无法弄清楚这一点,如果我直接在shell中执行命令,那么它会成功执行,但是从脚本文件运行我会收到以下错误:

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

关于问题可能是什么的任何想法?

4

2 回答 2

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"
于 2013-10-14T13:00:50.770 回答
0

就我而言,问题出在我执行的二进制文件中:

cat  /opt/sbin/sqlite3:
#!/bin/sh
export LD_LIBRARY_PATH="/opt/lib:$LD_LIBRARY_PATH"
/opt/sbin/sqlite3.real $@

所以如果我执行 /opt/sbin/sqlite3.real 我没有问题。

于 2016-04-25T03:35:48.500 回答