préciser qu'il existe deux ksh : ksh88 et ksh93 ?
II-B
afin de ne pas induire un futur contre-sens sur la signification du signe égal (qui fait une comparaison lexicale, et même si 5 peut être comparé lexicalement), je préférerais :
if test "chaîne" = "chaîne"
III-A
je préconise de mettre tout de suite les chaînes à afficher entre guillemets, avant que le lecteur n'essaie d'afficher des caractères qui demandent d'être protégés : ', (, *, ...
IV-C
un point d'interrogation remplace un tiret.
lire :
et nonil y en a encore à d'autres endroits.
V
$( ) est une spécification POSIX. Ce n'est plus depuis longtemps reservé aux shells "évolués".
VI
la différence entre $* et $@ est visible lorsqu'ils sont mis entre guillemets
"$*" tous els arguments ne font qu'un seul mot
"$@" les arguments sont "séparés"
1 2 3 4 5 6
| for i in "$*"; do echo "< $i >"; done
< arg1 arg2 argn >
for i in "$@"; do echo "< $i >"; done
< arg1 >
< arg2 >
< argn > |
VIII-B-7
expr est une commande externe, on peut faire ce test en sh
test \( $(($y % 4 )) -eq 0 -a $(($y % 100)) -ne 0 \) -o $(( $y % 400 )) -eq 0
IX-E
je ne dis rien
IX-F
pourquoi ne pas montrer tout de suite la façon de faire avec l'* ?
XI-D
pas que les shells récents, c'est une spécification POSIX.
XI-D
le < doit être collé au numéro de descripteur de fichier
XI-F
là, on a vu l'évaluation arithmétique, on pourrait s'en servir pour le shift OPTIND
XII-A
expr n'est pas une commande interne (je l'ai déjà dit ? je radote, paraît-il.)
XII-B
mais grep non plus
il faut peut-être le préciser dans le titre du chapitre ?
à part ça :
Partager