次の出力を変数に割り当てようとしています
sqlite3 /home/user/db_fake_book_index "select id, page from fb2 where bookcode='$bookcode' and page=$page
実行すると、次のように引用されます
echo "sqlite3 /home/user/db_fake_book_index \"select id, page from fb2 where bookcode='$bookcode' and page=$page\""
私は得る
sqlite3 /home/user/db_fake_book_index "select id, page from fb2 where bookcode='557S' and page=10"
コンソールにコピーすると正常に動作しますが、スクリプトで $() で囲むと動作しません。sqlite は変数が多すぎると判断し、二重引用符が削除されているようです。
$(printf "sqlite3 /home/user/db_fake_book_index \"select id, page from fb2 where bookcode='$bookcode' and page=$page\"")
これは同じ失敗を与えます