• [^] # Re: Sans UUOC

    Posté par (site web personnel) . En réponse au journal le shell trick tout pourri du vendredi : .lsignore. Évalué à 8. Dernière modification le 25 avril 2015 à 15:24.

    Juste pour le jour où les gens en auront marre de déboguer des scripts shell avec 14 niveaux d'indirection:

    On peut introduire une fonction auxiliaire pour préparer la ligne de commande:

    __ls_prepare_argv()
    {
     if [ -e .lsignore ]; then
     while read name ; do printf -- '--hide %s ' "$file"; done < .lsignore
     fi
    }
    alias ls='ls $(__ls_prepare_argv)'
    

    ça a la vertu d'être plus facile à tester et plus facile à lire, grâce au nom de la fonction. Sinon, lorsque les fichiers n'ont pas d'espaces dans leur nom, on peut simplifier:

    __ls_prepare_argv()
    {
     if [ -e .lsignore ]; then
     xargs printf -- '--hide %s ' < .lsignore
     fi
    }
    alias ls='ls $(__ls_prepare_argv)'
    

    Useless use of cat detected.

    Tu ne serais pas en train d'utiliser une expression anglaise sur un site francophone, hmm? Comme ça, subrepticement? Sans même mettre des italiques en plus! ☺