スクリプト設計

スクリプト設計

【Linux】systemd 自作サービスの作成手順まとめ|自動起動・常駐化・ユニットファイル設定を徹底解説

Linuxで自作シェルスクリプトやPythonプログラムをsystemdサービスとして登録し、自動起動・常駐化する手順を完全解説。/etc/systemd/system/配下のユニットファイル([Unit]・[Service]・[Install])の書き方、daemon-reloadでの反映、systemctlによる自動起動・再起動(Restart=always)設定、journalctlでのログ確認まで実務フローを網羅。
スクリプト設計

【Bash】標準エラー出力のリダイレクト完全ガイド|2>&1・個別保存・/dev/null破棄と順序の仕組み

BashやLinuxのシェルスクリプトでバッチ処理やコマンドを実行する際、避けて通れないのが「標準エラー出力(stderr)」のリダイレクトです。「標準出力と標準エラー出力をまとめて1つのログに保存したい」「エラーメッセージだけを別ファイル...
スクリプト設計

【Bash】ヒアドキュメントの使い方まとめ|複数行出力・変数展開の制御・sudo tee連携を徹底解説

シェルスクリプト(Bash)で設定ファイルを生成したり、複数行のSQLやスクリプトを外部コマンドに流し込みたいときに欠かせないのがヒアドキュメント(Here Document / <<EOF)です。ヒアドキュメントを使うことで、echo コ...
スクリプト設計

【Bash】シェルスクリプトでの配列の使い方まとめ|宣言・追加・ループ処理・要素数を徹底解説

シェルスクリプト(Bash)で複数のファイル名、URLリスト、設定項目などを一括管理・処理したいときに必須となるのが配列(Array)です。Bashの配列は、宣言(array=("val1" "val2"))、要素の追加(array+=("...
スクリプト設計

シェルスクリプトの引数処理まとめ|位置パラメータ・デフォルト値・$@と$*の違いを徹底解説

シェルスクリプト(Bash)を実行する際、処理対象のファイル名や設定値、実行オプションなどをコマンドライン引数として渡すことで、スクリプトの汎用性が劇的に向上します。引数の処理には、位置パラメータ($1, $2 …)や引数の個数を表す $#...
スクリプト設計

シェルスクリプトとは?書き方の基本・シバン・実行方法から変数・制御構文まで解説

シェルスクリプトとは、LinuxやUnix系OSにおいて、ターミナルで実行するコマンドをテキストファイルに書き並べ、一括して自動実行できるようにした仕組み(指示書)です。「毎日決まった時刻にファイルをバックアップする」「複数のログファイルを...
スクリプト設計

Bashスクリプトにオプション引数を実装する:getoptsを使った本格的なツール作成法

Bashスクリプトを作成していると、実行時に「-h(ヘルプ)」「-v(詳細出力)」「-f 」といったオプション引数を渡して動作を制御したくなることがあります。単純に $1 や $2 といった位置パラメータで引数を受け取ることも可能ですが、引...
スクリプト設計

【Bash】while文の書き方完全ガイド|基本構文・無限ループからwhile readまで徹底解説

Bashにおけるwhile文の基本構文から数値ループ(算術式・test比較)、安全な無限ループ(sleep・break・continue)、ファイル1行読み込み(while read)、for文との使い分けまで実例付きで徹底解説。コピペで即使えるテンプレート集。
スクリプト設計

Bashにおけるコールバック設計パターンと安全な実装テンプレート

Bash には、他のプログラミング言語のような「関数ポインタ」や「クロージャ」は存在しません。しかし実務では、処理の流れは共通化し、特定の処理だけを差し替えたい場面が頻繁にあります。この記事では、Bash で安全に実装できる コールバック(...
スクリプト設計

再帰関数 ― bashスクリプト設計のもう一つの道

スクリプトを書くとき、私たちはよく「どう回すか」を考えます。けれど、もう一つの道があります。“自分自身を呼び出す”――再帰という設計。Bashでも、再帰を使うことで処理を階層的に整理し、シンプルに表現することができます。今回は、スクリプト設...
スクリプト設計

bashワイルドカード虎の巻:落とし穴とベストプラクティス11選

ワイルドカード(glob)は、bashで最も手軽に「まとめて処理」を実現できる仕組みです。*.log のような1語で、複数ファイルを一気に対象化できる──この便利さは、日々の運用を確実に加速させます。一方で、未一致時に文字列のまま渡ってしま...
スクリプト設計

並列実行パターン|xargs -P / BG+wait

この記事の狙いBash で安全に並列化するための実用パターンを整理します。主役は xargs -P と バックグラウンド実行 & + wait( -n )。NUL 安全、終了コード集約、出力競合回避、レート制御までを“コピペ可”で。前提と対...
スクリプト設計

バッチ運用テンプレ|日次ローテ / ロック / 通知

この記事の狙い日次バッチを安全に回すためのスケルトンを提示します。ポイントは ロック(重複防止)/日付ローテーション(入出力の切替)/失敗時通知。set -Eeuo pipefail 前提、stdout=結果 / stderr=ログの原則で...
スクリプト設計

共通関数ライブラリ|die / log / require / retry / validate

この記事の狙いBash スクリプトで毎回書いている定番関数を、再利用可能な共通ライブラリとしてまとめます。最小機能は die(異常終了)、log(レベル付き stderr)、require(前提コマンド/ファイル検証)、retry(指数バッ...
スクリプト設計

CLI スケルトン|getopts / usage / log / trap

この記事の狙いBash 製 CLI の最小骨格を提示します。getopts によるオプション解析、--help/--version を備えた Usage、レベル付き log、trap による後始末、エラー時の終了コード設計まで、コピペしてす...