koguti ターミナル上で動作する出納帳 フリーソフト

Windowsにも Linux にも対応 10兆円規模に対応

シェルスクリプトでsqlite3を使う

先日の記事でブラウザ(IRON)の閲覧履歴をコマンドラインで取得する方法を書いたのですが、sqlite3に渡すコマンドをそのままシェルスクリプトに書くとうまくいきませんでした。

対話型なので本来プロンプトに対して順次コマンド渡してやらなければならないわけですが、調べるとそれを一括で記述する機能があり、ヒアドキュメントという名前です。

使い方は簡単で

例えば

cp ~/.config/chromium/Default/History History
sqlite3 History
sqlite> .output url_list
sqlite> SELECT url FROM urls;
sqlite> .quit

という対話をした場合、下記のようにEOSからEOSの間にコマンドを書き流し込むイメージです。
そうするとsqliteがそれを聞いてくれるという、まさにヒアドキュメントですね。

#!/bin/bash
cp ~/.config/chromium/Default/History History
sqlite3 History << EOS
.output url_list
 SELECT url FROM urls;
.quit 
EOS

便利な機能を一つ覚えました。