• # Ça va il est même pas trois heure !

    Posté par . En réponse au journal Args parser pour shell. Évalué à 6.

    if [ "$(basename 0ドル)" = "auxilium" ]; then
     echo "You can't use this script directly"
     echo "You can view an example by call /usr/bin/auxilium-test"
     exit
    fi

    Si j’ai pu critiquer les echo sur plusieurs lignes dans un autre post j’espère que tu ne te remettras pas en question sur ce point, car ça a le mérite d’être nettement plus lisible que la manière dont je m’y prends moi et finalement je ne vois pas ce qui me permet de critiquer cette façon de faire.

    J’allais dire autre chose mais je vais fermer ma gueule parce que j’avais juste oublié que ton script se devait d’être POSIX et je ne peux donc pas te donner de solution à l’éventuel et très hypothétique problème que je vois... Or « Pas de solution, pas de problème. »

    Par contre pour les deux fonctions suivantes :

    _to_lower(){
     echo $(echo 1ドル |tr -s '[:upper:]' '[:lower:]')
    }
    _to_upper(){
     echo $(echo 1ドル |tr -s '[:lower:]' '[:upper:]')
    }

    Tu ne pourrais pas faire simplement :

    _to_lower(){
     echo "1ドル" |tr -s '[:upper:]' '[:lower:]'
    }
    _to_upper(){
     echo "1ドル" |tr -s '[:lower:]' '[:upper:]'
    }

    ?

    L’absence de quote dans le cas de echo pose rarement des soucis mais s’il y a un * dans ton argument ça va quand même faire des trucs potentiellement ennuyeux et assurément indésirables.

    Mais surtout, je ne vois pas pourquoi tu fais un « echo d’un echo », ça ne fait pas la même chose effectivement, dans ton cas tu appelles un sous-shell, mais en l’occurrence je ne vois pas en quoi c’est utile. (Note que je n’ai bien sûr pas lu tout le script avant de commenter, c’est ma spécialité ! ;) Je pense toujours pouvoir le faire, mais là j’ai plus le temps ce « soir ».