1つのシェルコマンドでsqlite3に複数のコマンドを渡す方法

1つのシェルコマンドでsqlite3に複数のコマンドを渡す方法

クリップボードの内容をsqliteデータベースに保存しようとしています。データベースとテーブルを作成しました。

クリップボードが変更されるたびにファイルを作成したくないので、フラグを渡してjournalみました。PRAGMA journal_mode = OFF;しかし、これらのコマンドを1行のコマンドとして渡すのは難しいです。なぜなら、sqlite2つのコマンドだけが許可されるからです。

sqlite3 clipboard_archive.db "insert into cb (cb_context) values ('clipboard');"

効果があるいくつかのウェブサイトを検索しましたが、Q&A一部のウェブサイトでは以下のようにコマンドをエコーするよう提案しました。

echo "PRAGMA journal_mode = OFF;" | sqlite3 clipboard_archive.db "insert into cb (cb_context) values ('clipboard');"

ただし、PRAGMA journal_mode = OFF;コマンドプロンプトでは機能しますが、この方法は適用されませんsqlite3

私の一行に何の問題がありますか?

ベストアンサー1

ドロバート答えはドットコマンドでは機能しないようですが、次のことができます-cmdsqlite3 tolls.sql3 -cmd ".mode csv" ".import tolls.csv tolls"

複数のコマンドを受け入れ、-cmd最終引数の前に順次実行します。

おすすめ記事