Ce fichier est mon bashBash ne compare pas correctement les chaînes
#!/bin/sh
ENV=DEV
echo "env: $ENV"
if [[ "$ENV" == DEV* ]]; then
RUNTIME_CLASSPATH=$(cat ../build/dev.classpath)
echo "cp: $RUNTIME_CLASSPATH"
fi
echo "done"
Et voici la sortie du terminal:
~proj/bin$ ./test.sh
env: DEV
./test.sh: 7: [[: not found
done
Je ne comprends pas ce qui ne va pas. Existe-t-il une autre façon de faire des comparaisons de chaînes?
Bien que cet extrait de code peut résoudre la question, y compris une explication * comment * et * pourquoi * cela résout le problème [pourrait vraiment aider] (// meta.stackexchange.com/ q/114762) pour améliorer la qualité de votre message. Rappelez-vous que vous répondez à la question pour les lecteurs dans le futur, pas seulement pour la personne qui demande maintenant! S'il vous plaît [modifier] votre réponse pour ajouter une explication, et donner une indication des limites et des hypothèses qui s'appliquent. –