Je veux écrire if
déclaration suivante :-
if [$x == "string"]
then
echo "ok"
fi
mais l'erreur suivante apparaît
./bash_if.sh[6]: [0: not found.
Je veux écrire if
déclaration suivante :-
if [$x == "string"]
then
echo "ok"
fi
mais l'erreur suivante apparaît
./bash_if.sh[6]: [0: not found.
[
doit être suivi d'un espace car [
est en fait une commande ( /usr/bin/[
sous Linux, bien que bash ait une version intégrée qu'il utilise). Sans l'espace, bash convertit $x en valeur, puis essaie d'exécuter la commande [0
comme si vous aviez tapé lssomedir
o echohi
.
De plus, si vous testez des chaînes de caractères, vous devez mettre des guillemets autour de $x :
if [ "$x" == "string" ]
Sinon, si $x est vide ou non défini, vous obtiendrez une erreur car, sans les guillemets, après avoir "développé" $x, cela ressemblera à ceci
if [ == "string" ]
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.
0 votes
Je ne vois pas en quoi une question sur les scripts bash serait hors sujet ici.