From b0ebce6eca7928c8b4af5774eb2e6acd4e79e2e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois?= Date: Wed, 7 Oct 2026 15:25:50 +0200 Subject: [PATCH] option -strict dans contenaire --- bin/container.sh | 83 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 56 insertions(+), 27 deletions(-) diff --git a/bin/container.sh b/bin/container.sh index 97524fb..75b363e 100755 --- a/bin/container.sh +++ b/bin/container.sh @@ -29,6 +29,7 @@ setKazVars cd "${KAZ_BIN_DIR}" PATH_SAUVE="/home/sauve/" export SIMU="" +export STRICT="" declare -a availableComposesNoNeedMail availableMailComposes availableComposesNeedMail availableProxyComposes availableOrga availableComposesNoNeedMail=($(getList "${KAZ_CONF_DIR}/container-withoutMail.list")) @@ -283,15 +284,28 @@ if [ "$#" -eq 0 ] ; then usage fi -if [ "$1" == "-h" ] ; then - usage - shift -fi - -if [ "$1" == "-n" ] ; then - export SIMU=echo - shift -fi +while [[ "$1" == -* ]] ;do + case "$1" in + "-h" ) + usage + shift + ;; + "-n" ) + export SIMU=echo + shift + ;; + "-strict" ) + export STRICT="_X_Y" + shift + ;; + "--" ) + shift + ;; + * ) + break + ;; + esac +done DCK_CMD="" SAVE_CMD="" @@ -331,38 +345,53 @@ else fi fi +argExist="" + for compose in $* do + argExist=true compose=${compose%/} - if [[ ! " ${knownedComposes[@]} " =~ " ${compose} " ]]; then - declare -a subst - subst=() - for item in "${knownedComposes[@]}"; do - [[ "${item}" =~ "${compose}" ]] && subst+=(${item}) - done - if [ "${subst}" = "" ] ; then - echo - echo "Unknown compose: ${RED}${BOLD}${compose}${NC} not in ${YELLOW}${BOLD}${knownedComposes[*]}${NC}" - echo - exit 1 - else - echo "substitute compose: ${YELLOW}${BOLD}${compose} => ${subst[@]}${NC}" + if [[ -z "${STRICT}" ]] ;then + if [[ ! " ${knownedComposes[@]} " =~ " ${compose} " ]]; then + declare -a subst + subst=() + for item in "${knownedComposes[@]}"; do + [[ "${item}" =~ "${compose}" ]] && subst+=(${item}) + done + if [ "${subst}" = "" ] ; then + echo + echo "Unknown compose: ${RED}${BOLD}${compose}${NC} not in ${YELLOW}${BOLD}${knownedComposes[*]}${NC}" + echo + exit 1 + else + echo "substitute compose: ${YELLOW}${BOLD}${compose} => ${subst[@]}${NC}" + fi fi fi + for item in "${availableMailComposes[@]}"; do - [[ "${item}" =~ "${compose}" ]] && enableMailComposes+=("${item}") + [[ "${STRICT}${item}${STRICT}" =~ "${STRICT}${compose}${STRICT}" ]] && enableMailComposes+=("${item}") done for item in "${availableProxyComposes[@]}"; do - [[ "${item}" =~ "${compose}" ]] && enableProxyComposes=("${item}") + [[ "${STRICT}${item}${STRICT}" =~ "${STRICT}${compose}${STRICT}" ]] && enableProxyComposes=("${item}") done for item in "${availableComposesNoNeedMail[@]}"; do - [[ "${item}" =~ "${compose}" ]] && enableComposesNoNeedMail+=("${item}") + [[ "${STRICT}${item}${STRICT}" =~ "${STRICT}${compose}${STRICT}" ]] && enableComposesNoNeedMail+=("${item}") done for item in "${availableComposesNeedMail[@]}"; do - [[ "${item}" =~ "${compose}" ]] && enableComposesNeedMail+=("${item}") - done + [[ "${STRICT}${item}${STRICT}" =~ "${STRICT}${compose}${STRICT}" ]] && enableComposesNeedMail+=("${item}") + done done +if [[ ! -z "${argExist}" ]] ;then + if [[ -z "${enableMailComposes[@]}${enableProxyComposes[@]}${enableComposesNoNeedMail[@]}${enableComposesNeedMail[@]}" ]] ;then + echo + echo "Unknown arg: ${RED}${BOLD}" $* "${NC} not in ${YELLOW}${BOLD}${knownedComposes[*]}${NC}" + echo + exit 1 + fi +fi + [[ ! -z "${DCK_CMD}" ]] && "${DCK_CMD}" && exit 0 [[ ! -z "${SAVE_CMD}" ]] && "${SAVE_CMD}" && exit 0