lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Petit script bash 2015 pour vos scores et parties individuelles


From: Anton Curl
Subject: Re: Petit script bash 2015 pour vos scores et parties individuelles
Date: Sat, 02 May 2015 18:21:38 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

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).

reply via email to

[Prev in Thread] Current Thread [Next in Thread]