for fichier in `ls`
Jamais au grand jamais !
1) Il vaut mieux utiliser $(…) que `…` en bash.
2) Si tu as un nom de fichier contenant un espace, ça va planter (sans parler des retours à la ligne qui sont aussi autorisés dans un nom de fichier).
for fichier in *
Ça marche dans tous les cas et c'est moins gourmand en ressources.
[ -n $mdp ]&&[ $mdp != $s_mdp ]
Si
mdp ou
s_mdp contient un espace ou est vide, ça va planter :
[ -n "$mdp" ]&&[ "$mdp" != "$s_mdp" ]
while [ 1==1 ]
Il est plus efficace d'utiliser « true » ou « : » qui lui est équivalent :
while true
while :
[ $quitter == "o" ]
Si
quitter contient un espace, ça plante, il faut mettre des guillemets. À l'inverse, ils ne servent à rien autour de « o » :
[ "$quitter" == o ]
@kamui57 :
isinteger () { [[ "$1" =~ ^[0-9]+$ ]] ; }
…
if isinteger "$1"
Je n'utilise des fonctions que pour ce qui est utilisé plusieurs fois ou ce qui peux être changé régulièrement pour ne pas avoir à me replonger dans tout le temps à chaque fois.