262 votes

Signification de l'erreur "[ : too many arguments" de if [] (crochets)

Je n'ai pas pu trouver une seule ressource simple et directe expliquant la signification et la correction de l'erreur suivante de l'interpréteur de commandes BASH.

L'erreur :

-bash: [: too many arguments

Version adaptée à Google : bash open square bracket colon too many arguments .

Le contexte : une condition "si" entre crochets simples avec un opérateur de comparaison simple comme "égal", "supérieur à", etc :

VARIABLE=$(/some/command);
if [ $VARIABLE == 0 ]; then
  # some action
fi

1 votes

Où se trouve le code qui a produit cette erreur spécifique ?

0 votes

1voto

Kidane Points 97

J'ai eu le même problème avec mes scripts. Mais quand j'ai fait quelques modifications, ça a marché pour moi. J'ai fait comme ça :-

export k=$(date "+%k");
if [ $k -ge 16 ] 
    then exit 0; 
else 
    echo "good job for nothing"; 
fi;

De cette façon, j'ai résolu mon problème. J'espère que cela vous aidera aussi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X