シェルスクリプトは長くなると処理の境界が不鮮明になりがち。 コメントで処理の境界を表現する工夫はよく見かけるが、もっと良い方法はないか考えてみた。 :コマンド、&&演算子、複合コマンド()や{}を組み合わせて書くと、処理の境界線がはっきりする。
![シェルスクリプトの処理境界が鮮明になる「名前付きブロック記法」なるものを考えてみた](https://cdn-ak-scissors.b.st-hatena.com/image/square/d5da3ce16bb8f0fbfeceeafd8c23103399d673a8/height=288;version=1;width=512/https%3A%2F%2Fwww.datocms-assets.com%2F29850%2F1593190022-pastedimage20200627146.png%3Ffm%3Dpng%26mark64%3DaHR0cHM6Ly93d3cuZGF0b2Ntcy1hc3NldHMuY29tLzI5ODUwLzE1OTMxNTQ2MzYtdHJhbnNwYXJlbnQtcGl4ZWwucG5nP3c9NDAwJmg9NjQmZml0PWNyb3AmYmxlbmQ2ND1hSFIwY0hNNkx5OTNkM2N1WkdGMGIyTnRjeTFoYzNObGRITXVZMjl0THpJNU9EVXdMekUxT1RFNE16TXlPVEF0WVhaaGRHRnlOVEV5TG1wd1p6OXRZWE5yUFdWc2JHbHdjMlVtWm0wOWNHNW5KbmM5TWpVMkptZzlNalUyJmJsZW5kLWg9NjQmYmxlbmQteD0wJmJsZW5kLXk9MCZibGVuZC1tb2RlPW5vcm1hbCZtYXJrNjQ9YUhSMGNITTZMeTloYzNObGRITXVhVzFuYVhndWJtVjBMMzUwWlhoMFAzUjRkQzFoYkdsbmJqMXRhV1JrYkdVbE1rTnNaV1owSm5SNGRDMW1iMjUwUFhOaGJuTXRjMlZ5YVdZbE1rTmliMnhrSm5SNGRDMWpiMnh2Y2oweU1qRTRNVFltZEhoME5qUTlZek5XY0dKbkpuUjRkQzF6YVhwbFBUTXdKbWc5TmpRJm1hcmsteD02NCZtYXJrLWFsaWduPW1pZGRsZSUyQ2xlZnQ%26mark-align%3Dbottom%252Cleft%26mark-x%3D100%26mark-y%3D496%26blend64%3DaHR0cHM6Ly93d3cuZGF0b2Ntcy1hc3NldHMuY29tLzI5ODUwLzE1OTMxNTQ2MzYtdHJhbnNwYXJlbnQtcGl4ZWwucG5nP3c9MTIwMCZoPTYzMCZmaXQ9Y3JvcCZtYXJrNjQ9YUhSMGNITTZMeTkzZDNjdVpHRjBiMk50Y3kxaGMzTmxkSE11WTI5dEx6STVPRFV3THpFMU9UTXhOVEE1TkRBdFkzSmhablJ6YldGdUxUQXhMbkJ1WncmbWFyay1hbGlnbj10b3AlMkNjZW50ZXImbWFyay13PTI1MCZtYXJrLXk9ODAmYmxlbmQ2ND1hSFIwY0hNNkx5OWhjM05sZEhNdWFXMW5hWGd1Ym1WMEwzNTBaWGgwUDNSNGRDMWhiR2xuYmoxdGFXUmtiR1VsTWtOalpXNTBaWEltZEhoMExXWnZiblE5YzJGdWN5MXpaWEpwWmlVeVEySnZiR1FtZEhoMExYQmhaRDB4TURBbWRIaDBMV052Ykc5eVBUSXlNVGd4TmlaMGVIUTJORDAwTkVzek5EUkxialEwVDNJME5FczFORFJMZGpRMFQzRTBORTlZTkRSUFNUUTBSM1UxV1dWdE5UVkRSelZoUzBRMU5WZE5ORFJIVFRaaE5uVTFjR2xQTkRSSGNqUTBSM0UwTkV0TU5EUkRUVFZhUTA0MVdXMU9OVXgxV1RRMFIwNDBORTlYTkRSUGREUTBUMFEwTkV0Mk5rdHBXVFZ5VDFZME5FTk9ORFJIY1RRMFMwdzBORXRETkRSSGRUUTBTMU0yU1VORU5EUkhTVFEwUjIwME5FZGZORFJIWmlaMGVIUXRjMmw2WlQwMU5TWjNQVEV5TURBbWFEMDJNekEmYmxlbmQtbW9kZT1ub3JtYWw%26blend-mode%3Dnormal)
最近「コマンド化」「自動化」に目覚め、シェルスクリプトにハマっている。 第一歩としてはコマンド化なんだけど、これができると cron などで定期実行できるようになるから結果、これが自動化につながる。 っで、今回はこれまでにプログラムしたスクリプトを汎用化したいと思い、試行錯誤している。 シェルスクリプトを実行する際、以下のようにいくつかの参照方法 / 実行方法がある。 /path/to/shell_script (/ ルートから絶対パスで指定) ./path/to/shell_script (相対パスで指定) ./shell_script (実行ファイルがあるディレクトリに移動して実行) この前提として、実行したファイルと同一階層に設定ファイルや共通 (共有) 化した外部ファイルなどを配置して汎用化を図っているんだけど、こうした外部ファイルの参照方法が今回の課題だった。 PHP でいうとこ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く