Pourquoi mettre des points-virgules dans l'un et pas dans un autre?
le résultat est le même
Code un
if [ "a" == "a" ]
then
echo "true"
fi
Code deux
if [ "a" == "a" ];
then
echo "true";
fi
Les points-virgules dans le deuxième code sont inutiles?
Quand il est nécessaire de placer des points-virgules?
svn up; make
;;
sont utilisés pour séparer les correspondances dans les instructions case.;;
est nécessaire ici, pas optionnel ... mais ce;;
n'est pas la même chose que;
ou; ;
, ça y ressemble un peu. Les points-virgules simples;
fonctionnent normalement dans les parties COMMANDS des déclarations de cas.Réponses:
Le point-virgule est nécessaire uniquement lorsque la fin de ligne est manquante:
Sans points-virgules, vous obtenez une erreur de syntaxe.
Je ne comprends pas votre question sur les citations. Peux-tu être plus précis?
(Et au fait, utiliser à la
=
place de==
est plus portable et compatible POSIX).la source
Le point-virgule est souvent utilisé, car certaines personnes (par exemple, moi) aiment un style comme celui-ci:
Ainsi, si le mot-clé then est placé sur la ligne de condition, il est nécessaire car une nouvelle commande est démarrée, telle qu’elle a été écrite par choroba.
En ce qui concerne les guillemets dans le contrôle de condition, ils sont souvent utilisés avec des variables pour s'assurer qu'aucune exception ne se produit si rien n'est affecté à la variable. Ceci est un style plus sûr et ne semble pas nécessaire, mais même dans la programmation shell, il est parfois nécessaire de faire en sorte que des programmes soient traités, même si le contenu ne peut pas être affecté à des variables. Ensuite, la commande fonctionne toujours car une chaîne vide est comparée.
la source