Léa-Linux & amis :   LinuxFR   GCU-Squad   Zarb.Org   GNU
Archive de la liste aide - [Aide] problème avec une fonction dans un script bash
Le 27 janvier 2016 à 15:08, Ille <tam.ille at free.fr> a écrit :


1.
> -Pour rm, je comprends la paranoia. Dans ce cas, il faudrait alors
> rediriger la sortie vers /dev/null

Non.
Au contraire.
Lire: Eric Raymond : L'Art de la Programmation Unix

https://fr.wikipedia.org/wiki/Philosophie_d%27Unix#Raymond_:_L.27Art_de_la_Programmation_Unix

Règle de Dépannage : Si le programme échoue, il faut le faire
bruyamment et le plus tôt possible.

en revanche, pou blinder le programme, il est possible, avant un rm :
- de vérifier que le fichier existe
- de vérifier si on a le droit [w] sur ce fichier
et de gérer tous les cas proprement explicitement


2.
> -Pour les noms de variables en majuscules, je comprends que cela
> peut écraser les variables créées par le shell, mais cela permet
> également d'augmenter la lisibilité du script.

non.

Par convention,
- variables en majuscules = réservées au variables d'environnement,
variables du shell
- en minuscules = celles du script

Si tu veux augmenter la lisibilité, utilise des underscores, mais
aucune majuscule.

Le sage manchot sait que la casse des caractères compte pour les noms
de variables.

Par exemple, [path] et [Path] qui sont donc disctintes, mais pas seulement

exemple: à tester en CLI :
path=minuscule
Path=alpha
pAth=beta
paTh=charlie
patH=delta
echo ${path} ${Path} ${pAth} ${paTh} ${patH} ${PATH}

Moralité, à une majuscule près, le script est mort. So, don't mess
with capitals.


Par convention et précaution, le sage manchot n'utilise pas des noms
de variables en minuscule équivalent au nom majuscule des variables
d'environnement/du shell

donc, on évite [path] parce que [PATH] existe



3. fonctions

Par défaut, les variables des fonctions sont déclarées locale.


__P

Serveur hébergé par ST-Hebergement et Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons