J'ai un script bash qui ressemble à ceci:
#!/bin/bash
if [ $1 = "--test" ] || [ $1 = "-t" ]; then
echo "Testing..."
testing="y"
else
testing="n"
echo "Not testing."
fi
Donc, ce que je veux pouvoir faire, c'est non seulement l'exécuter avec ./script --test
ou ./script -t
, mais aussi sans argument (juste ./script
), mais apparemment si je le fais avec le code actuel, la sortie est juste:
./script: line 3: [: =: unary operator expected
./script: line 3: [: =: unary operator expected
Not testing.
Alors, comment puis-je le programmer pour que le faire tourner sans aucun argument fasse juste le else
sans lancer l'erreur? Qu'est-ce que je fais mal?