Bash if statement [: missing `] ' error [duplicate] (Français)

Cette question a déjà des réponses ici :

Commentaires

  • Pour ceux qui se demandent: ce ne sont pas des instructions multilignes!
  • Si vous voulez juste vérifier si la chaîne Shared apparaît dans la sortie de la commande vous voudrez peut-être envisager dutiliser directement létat de sortie de grep, par exemple ipcs | { if grep -q "Shared"; then echo "true"; else echo "false"; fi } ou ipcs | grep -q "Shared" && echo "true" || echo "false" – voir unix.stackexchange.com/a/48536/65304 par exemple

Réponse

Votre missing ]" lerreur est due au fait que vous avez besoin dun espace entre "Shared" et ], donc la ligne doit être if [ "$(ipcs | grep Shared | awk "{print $2}")" == "Shared" ]; then.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *