nekolas note
1.2 KB Raw
#!/usr/bin/env sh
# 依存確認: tmux >= 3.2 と jq の存在をチェックする(T002)。
# 終了コード: 0=OK, 1=不足あり。テスト/インストール前の前提検証に使う。
set -u

err=0

# --- tmux ---
if ! command -v tmux >/dev/null 2>&1; then
  echo "NG: tmux が見つかりません(tmux >= 3.2 が必要)" >&2
  err=1
else
  # "tmux 3.6a" のような出力から数値部分を取り出す
  ver=$(tmux -V 2>/dev/null | sed -E 's/^tmux[[:space:]]+([0-9]+)\.([0-9]+).*/\1.\2/')
  major=${ver%%.*}
  minor=${ver#*.}
  if [ -z "$major" ] || [ -z "$minor" ]; then
    echo "WARN: tmux のバージョンを判定できません(出力: $(tmux -V 2>/dev/null))" >&2
  elif [ "$major" -lt 3 ] || { [ "$major" -eq 3 ] && [ "$minor" -lt 2 ]; }; then
    echo "NG: tmux $ver は古すぎます(>= 3.2 が必要)" >&2
    err=1
  else
    echo "OK: tmux $ver"
  fi
fi

# --- jq ---
if ! command -v jq >/dev/null 2>&1; then
  echo "NG: jq が見つかりません" >&2
  err=1
else
  echo "OK: jq $(jq --version 2>/dev/null)"
fi

if [ "$err" -ne 0 ]; then
  echo "依存が不足しています。" >&2
  exit 1
fi
echo "依存チェック OK"
exit 0