SQLite3 でデータベースを構築し、SQL 文の入力の手間を省くためにシェルスクリプトから SELECT 文を発行させようとしてうまくいかずはまったのでメモメモ。
#!/bin/sh NO=$1 SQL="SELECT no,ans FROM TABLE_NAME WHERE no = $NO" COMMAND="sqlite3 DB_NAME '$SQL'" $COMMAND exit 0
という answer.sh シェルスクリプトを作り、
$ ./answer.sh 1
のように実行しても、
SQL error: unrecognized token: "’select"
というエラーを吐くばかりで動いてくれません。
これを動かすには以下のようにする必要があるようです。
#!/bin/sh NO=$1 SQL="SELECT no,ans FROM TABLE_NAME WHERE no = $NO;" COMMAND="sqlite3 DB_NAME" echo $SQL | $COMMAND exit 0
これならば考えた通りに動きました。
相談に乗り原因を調べてくれた上により解決法まで教えてくれた MMAX さんに感謝!(´Д⊂