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

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

    On peut même faire simplement (mais avec réserve... vous avez trouvé ?)

    Si "${mondossier}" est vide ou n'existe pas ça va planter.

    Exact. Hormis cela, la commande ne râle pas si le dossier existe déjà, raison pour laquelle on peut zapper le test d’existence... En vrai on peut tester si la variable n’est pas vide (-z) ou si le chemin n’est pas déjà utilisé (-e) pour ne pas tenter de remplacer un fichier par un répertoire (il y aura normalement une errreur mais bon.)

    En fait, pour rester dans l’esprit de l’exemple, j’aurais du simplement écrire : mkdir "${mondossier}"
    ...parce-que l’option -p nécessite aussi une autre réserve : que le chemin ne soit pas sur un montage absent... La création va se faire mais on va s’arracher les cheveux par la suite...

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