注目★★★★★Lobsters
シェルの「:」コマンン、実は便利な書き方
30秒で把握
- 1シェルの null コマンド「:」とパラメータ展開 ${VAR:?/=} を組み合わせた単行書法
- 2引数チェック・デフォルト値設定・ファイル検査を冗長な if 文なしで実装可能
- 3typo リスク低減とコード行数削減のメリット・可読性とのトレードオフを考慮して導入判断
要約
シェルの null コマンド「:」はパラメータ展開と組み合わせると、引数チェックや変数初期化を簡潔に書ける。`:"${1:?エラーメッセージ}"`で必須引数の検査が 1 行で済み、`:"${VAR:=/default}"`でデフォルト値設定時の実行結果を破棄できる。「:」は 1971 年の Thompson シェルまで遡る古い機能だが、エラーログ截断 (`: > file.log`) や ファイル読み書き可能性確認 `(: < file.json && echo YES)` など、知られていない用途が多い。個人差はあるが、変数名を一度だけ書くため typo リスクを減らせるメリットがある。
あなたへの影響
シェルスクリプト保守チームなら、条件分岐を減らす実装手法として値打ちがある。
推奨:ただし可読性を重視する組織では可読性と安全性のトレードオフを事前に判断したい。