On 02/05/2015 17:47, legoss wrote:
Anton Curl wrote
Le script manque de guillemets sur les variables (voir shellcheck pour
toutes les autres erreurs)
Je ne connaissais pas cet outils. Merci pour l'info.
Comme tu t'en doutes probablement, j'ai du mal avec les guillemets en bash.
En furetant ça et là, je me suis rendu compte que je n'étais pas le seul. Ça
ne me console pas pour autant!
Si tu veux bien prendre 2-3 exemple du script pour m'expliquer au sujet des
guillemets... merci!
J'ai terminé ce script à l'arrache, avec des "if" et des "for" qui dansaient
devant les yeux.
Je le reprendrai tranquillement... un peu plus tard, histoire d'avoir un
regard neuf. Si c'est possible.
Lignes 79-80 :
mkdir $projet
cd $projet
Si tu le laisses comme ça, tu ne peux pas avoir d'espace dans le nom
du projet. Si l'utilisateur en met un, ton script va faire n'importe
quoi (puisque tu ne vérifies pas que l'utilisateur a bien entré un
nom sans espace ?), car :
mkdir mon projet
va créer deux dossiers : le dossier « mon » et le dossier « projet
». Alors que :
mkdir "mon projet"
créée un seul dossier « mon projet ».
Et c'est la même chose pour le cd de la ligne suivante.
La doc de shellcheck explique chacune des règles vérifiées :
https://github.com/koalaman/shellcheck/wiki/Sc2086
Anton Curl wrote
Il faudrait aussi qu'il puisse mettre des valeurs par défaut pour
certains paramètres comme \key ou \time.
Tu penses à de possibles oublis au cours de la saisie? sinon je vois pas à
quoi tu fais allusion.
Oui c'est pour ça. Quand on écrit un programme il faut considérer
que quoi qu'entre l'utilisateur, le programme ne va pas planter et
donnera une sortie valide ou demandera à l'utilisateur de faire à
nouveau sa saisie (bon c'est un peu extrême dans certains cas, mais
il faut quand même appliquer ça au maximum).
|