#!/bin/bash set -u STATE="OK" MESSAGE="Sous contrôle" ITEM_NAME="" DATE_ECHEANCE="" while [ "$#" -gt 0 ]; do case "$1" in --state) STATE="$2" shift 2 ;; --message) MESSAGE="$2" shift 2 ;; --item-name) ITEM_NAME="$2" shift 2 ;; --date) DATE_ECHEANCE="$2" shift 2 ;; *) echo "UNKNOWN - argument non reconnu: $1" exit 3 ;; esac done STATE_UPPER=$(printf '%s' "$STATE" | tr '[:lower:]' '[:upper:]') OUTPUT_SUFFIX="" [ -n "$ITEM_NAME" ] && OUTPUT_SUFFIX="$OUTPUT_SUFFIX | item=$ITEM_NAME" [ -n "$DATE_ECHEANCE" ] && OUTPUT_SUFFIX="$OUTPUT_SUFFIX date=$DATE_ECHEANCE" case "$STATE_UPPER" in OK) echo "OK - $MESSAGE$OUTPUT_SUFFIX" exit 0 ;; WARNING) echo "WARNING - $MESSAGE$OUTPUT_SUFFIX" exit 1 ;; CRITICAL) echo "CRITICAL - $MESSAGE$OUTPUT_SUFFIX" exit 2 ;; *) echo "UNKNOWN - état mock invalide: $STATE" exit 3 ;; esac