Bonjour,
Avec man test, je lis :
Donc si je fais -n sur une variable, je peux savoir si elle est non-vide (true) ou vide (false). Or, dans le code suivant, la méthode 2 provoque une boucle infinie que je n'arrive pas à m'expliquer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero
Merci d'avance pour vos lumières
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 !/bin/bash typeset LISTE="un deux trois quatre cinq" typeset ITEM="" typeset -i INDICE=1 ITEM=$(echo $LISTE | cut -d' ' -f $INDICE) # METHODE UNE echo "Methode une" while true do echo "$INDICE = $ITEM" let INDICE=$INDICE+1 ITEM=$(echo $LISTE | cut -d' ' -f $INDICE) if [ -z $ITEM ] then break # Quitter le while true fi done # METHODE DEUX echo echo echo "Methode deux" let INDICE=1 ITEM=$(echo $LISTE | cut -d' ' -f $INDICE) while [ -n $ITEM ] do echo "$INDICE = $ITEM" let INDICE=$INDICE+1 ITEM=$(echo $LISTE | cut -d' ' -f $INDICE) done![]()
Partager