无法想出这个,如果我直接在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
关于问题可能是什么的任何想法?
答案 0 :(得分: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"
答案 1 :(得分:0)
在我的情况下,问题出现在我执行的二进制文件中:
cat /opt/sbin/sqlite3:
#!/bin/sh
export LD_LIBRARY_PATH="/opt/lib:$LD_LIBRARY_PATH"
/opt/sbin/sqlite3.real $@
所以如果我执行/opt/sbin/sqlite3.real我没有问题。