Asayomu Tech
注目★★★★★Lobsters

シェルの「:」コマンン、実は便利な書き方

30秒で把握

  • 1シェルの null コマンド「:」とパラメータ展開 ${VAR:?/=} を組み合わせた単行書法
  • 2引数チェック・デフォルト値設定・ファイル検査を冗長な if 文なしで実装可能
  • 3typo リスク低減とコード行数削減のメリット・可読性とのトレードオフを考慮して導入判断

要約

シェルの null コマンド「:」はパラメータ展開と組み合わせると、引数チェックや変数初期化を簡潔に書ける。`:"${1:?エラーメッセージ}"`で必須引数の検査が 1 行で済み、`:"${VAR:=/default}"`でデフォルト値設定時の実行結果を破棄できる。「:」は 1971 年の Thompson シェルまで遡る古い機能だが、エラーログ截断 (`: > file.log`) や ファイル読み書き可能性確認 `(: < file.json && echo YES)` など、知られていない用途が多い。個人差はあるが、変数名を一度だけ書くため typo リスクを減らせるメリットがある。

あなたへの影響

シェルスクリプト保守チームなら、条件分岐を減らす実装手法として値打ちがある。

推奨:ただし可読性を重視する組織では可読性と安全性のトレードオフを事前に判断したい。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。