假设我想使用sqlite3将各种bash脚本的文本保存到数据库中。
如果我的脚本这样做
VARIABLE=$(cat "bashScript.sh")
sqlite3 mydb.db "CREATE TABLE data (myBash BLOB)"
sqlite3 mydb.db "INSERT INTO data VALUES (${VARIABLE})"
因为bash脚本将具有所有特殊字符,所以它将不起作用。我怎样才能做到这一点?
最佳答案
您需要在Insert语句中用引号引起来,并且要保护值本身中的引号:未经测试:
sql_value=$(sed 's/'\''/&&/g' <<< "$VARIABLE")
sqlite3 mydb.db "insert into data values ('$sql_value')"
关于bash - Bash:如何在sqlite3中插入具有特殊字符的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10555370/