• [^] # Re: Programmation défensive en bash

    Posté par (site web personnel, Mastodon) . En réponse au journal Args parser pour shell. Évalué à 4.

    Héhé :) Si tu regardes bien, ce n’est pas exactement le même test

    $ [ -f $variablequinexistepas ] && echo ok || echo ko
    ok
    $ [ -f "$variablequinexistepas" ] && echo ok || echo ko
    ko

    Par moment on ne se souvient plus de pourquoi on fait les chose comme cela ...

    La forme [[...]] permet en effet de se prémunir des variables vides non "quoté"s ...ou comportant des espaces, etc.

    Effectivement ca fonctionne, mais je trouve plus logique : si quelque chose n'existe pas, je fais ..
    Au contraire de si quelque chose existe ... je passe ? sinon je le créer.

    Cette seconde forme se lit : vérifie si le répertoire existe, sinon crée le (et effectivement on ne fait rien s’il existe)
    La première forme est littéralement : vérifie le contraire de si le répertoire existe (oui donc au final si le répertoire n’existe pas), puis alors crée le (sinon je passe)

    "It is seldom that liberty of any kind is lost all at once." ― David Hume