• [^] # Re: ls et globbing

    Posté par . En réponse à la dépêche Revue des techniques de programmation en shell. Évalué à 4.

    Le problème du masque étendu en lui même quand rien ne 'match' peut se résoudre facilement avec l'option

    shopt -s nullglob

    Cela marche dans Bash. Pour les autres shells c'est à vérifier. Il y a aussi l'option 'dotglob' qui permet de ne pas ignorer les fichiers cachés (donc commençant par un '.')

    Il m'est aussi arrivé de tomber sur des scripts utilisant 'ls' pour obtenir des informations sur les fichiers. C'est assez risqué car il existe de nombreuses variantes de 'ls' et le résultat peut aussi dépendre de la locale.

    Une meilleure solution est d'utiliser 'stat'

    for file in *; do
    stat -c "SIZE='%s' NAME='%n'" $file
    done