Le « problème » est que le shell développe les variables avant d'évaluer la commande. Donc si tu tapes [ $toto = "machin" ], et que toto est vide, tu te retrouves avec :
[ = machin ]
ce qui n'est pas correct au niveau de la syntaxe. Les guillemets ne changent pas grand chose, puisqu'ils ne servent que de « directive de développement » pour indiquer au shell comment il doit interpréter les différents caractères lorsqu'il développe une expression. Ils sont également supprimés avant l'exécution.
On colle donc un "x" de chaque coté, un peu comme dans une équation algébrique :-) , pour être sûr d'avoir toujours un minimum syndical que à évaluer.
[^] # Re: File
Posté par Obsidian . En réponse au message [Bash] Detecter des fichiers de taille nulle. Évalué à 4.
[ = machin ]
ce qui n'est pas correct au niveau de la syntaxe. Les guillemets ne changent pas grand chose, puisqu'ils ne servent que de « directive de développement » pour indiquer au shell comment il doit interpréter les différents caractères lorsqu'il développe une expression. Ils sont également supprimés avant l'exécution.
On colle donc un "x" de chaque coté, un peu comme dans une équation algébrique :-) , pour être sûr d'avoir toujours un minimum syndical que à évaluer.