Ho uno script bash che va in questo modo:
#!/bin/bash
if [ $1 = "--test" ] || [ $1 = "-t" ]; then
echo "Testing..."
testing="y"
else
testing="n"
echo "Not testing."
fi
Quindi quello che voglio poter fare non è solo eseguirlo con ./script --test
o ./script -t
, ma anche senza argomenti (solo ./script
), ma a quanto pare se lo faccio con il codice corrente l'output è solo:
./script: line 3: [: =: unary operator expected
./script: line 3: [: =: unary operator expected
Not testing.
Quindi, come posso programmarlo in modo che eseguirlo senza argomenti farà semplicemente ciò else
senza generare l'errore? Che cosa sto facendo di sbagliato?