[bash] ligne 9: =: Aucun fichier ou dossier

Résolu
Bonjour,

J'ai rédigé cette condition en bash, mais malheureusement il m'affiche deux erreurs identiques :
n=1
vartst=9
IP="192.168.10.250"
if [ "$n" <= "$vartst" ]
then
    n1="00$n"
elif [ "$n" <= "99" ]
then
    n1="0$n"
else
    n1="$n"
fi


./fonctionbouclefor: ligne 9: =: Aucun fichier ou dossier de ce type
./fonctionbouclefor: ligne 12: =: Aucun fichier ou dossier de ce type

2 réponses

  1. Modérateur
    Bonjour,

    La syntaxe n'est pas bonne (voir ce lien). En bash :

    #!/bin/bash
    n=1
    vartst=9
    IP="192.168.10.250"
    if (("$n" <= "$vartst")) 
    then
        n1="00$n"
    elif (("$n" <= "99"))
    then
        n1="0$n"
    else
        n1="$n"
    fi


    Bonne chance
    0
    1. Merci. Au final, j'ai réglé mon problème en faisant cela :

      function fint()
      {
        if [ "9" -ge "$1" ]
        then
          n1="00$1"
        elif [ "99" -ge "$1" ]
        then
          n1="0$1"
        else
          n1="$1"
        fi
      }
      0
      1. Modérateur
        Merci pour ton retour, c'est effectivement une autre syntaxe possible.
        0