こんなシェルスクリプトを作ってみた。
コンソール上だけで記事の作成から投稿・管理が対話的にできる。
ちょっとしたメモも、テンプレート選んでMarkdownで書いてそのまま投稿できる。
1度作成した記事は、fzf
やpeco
から選んで編集。
はてなブログは、もはやメモ管理ツールとして使える気がする。
テストらしいテストはやってないのだけれども、動作確認している環境はFreeBSD 12。
文字コードの変換は行っていないので、ロケール設定や記事ファイルはUTF-8じゃないときっとダメかなぁ。
はじめての長めのシェルスクリプト
今まで作ってきたシェルスクリプトは長くても200行くらいには収まっていた。
しかし今回は、コメントや空行を除いても1200行を超えてしまっている。
最初は1ファイルだけで完結を目指して作っていた。
500行超えたあたりから保守できる気が全くしなくて方針転換。ファイルを分けまくった。
つまり1ファイルだけの気軽なデプロイができなくなった。
しかもファイルを分けたことにより、各ファイルに実行権限を追加するためのインストール用のスクリプトが必要になった。
うーん、負の連鎖反応。
1ファイルよりは保守はしやすくなったと思うけれども、他の言語で書いたほうが数倍楽だよなぁ。
これくらいの規模になると全体をどう構成するのが良かっただろうか。
シェルスクリプトマスターならどういうアプローチで作るんだろうか。
シェルスクリプト初級者を卒業できるのはまだまだ先ですな。
まぁ、他のスクリプトのインクルードとか1ファイルじゃやらない処理も度々あったし、UNIXでアプリケーションっぽいのモノもはじめて作ったし、人に使ってもらうものをGitHubに上げたのもはじめて。
GitHubは個人でしか使ってなかったのでプッシュしかしたことないし。 誰かプルリクとやら送ってくれないかなぁ。
とまぁ、いろいろと勉強になった1作でしたとさ。