GNU/Linux >> Tutoriels Linux >  >> Linux

Dans un script bash, comment la commande Continuer fonctionne-t-elle avec les boucles intégrées ?

J'écris un script bash dans une session busybox.

Le script doit lancer un exécutable externe plusieurs fois de suite sous une forme démonisée, puis surveiller la sortie.

while read LINE; do
  VARIABLEPARAMETER=`echo "$LINE" | sed -e 's/appropriateregex(s)//'`
  externalprog --daemonize -acton $VARIABLEPARAMETER -o /tmp/outputfile.txt
  until [ "TRIGGERED" = "1" ]; do
    WATCHOUTPUT=`tail -n30 /tmp/outputfile.txt`
    TRIGGERED=`echo "$WATCHOUTPUT" | grep "keyword(s)"` 
    if [ -z "$TRIGGERED" ]; then
      PROGID=`pgrep externalprog`
      kill -2 "$PROGID"
      continue
    fi
  done
done < /tmp/sourcedata.txt

Ma question est sur laquelle des deux boucles la commande continue sera-t-elle exécutée ?

La première ligne de lecture while, ou la suivante, jusqu'à ce qu'elle soit déclenchée ?

S'il vous plaît, ne vous concentrez pas sur le code réel que j'ai rassemblé comme exemple pour essayer d'expliquer cette question, le code réel est beaucoup plus détaillé.

Réponse acceptée :

Depuis "aide continue":

continue: continue [n]
    Resume for, while, or until loops.

    Resumes the next iteration of the enclosing FOR, WHILE or UNTIL loop.
    If N is specified, resumes the Nth enclosing loop.

    Exit Status:
    The exit status is 0 unless N is not greater than or equal to 1.

Vous voulez donc continue ou continue 1 pour passer à l'itération suivante de until , ou continue 2 pour passer à l'itération suivante de while .


Linux
  1. Comment rejouer les sessions de terminal enregistrées avec la commande de script Linux

  2. Comment fonctionne le Sticky Bit ?

  3. Comment faire fonctionner n'importe quel programme avec la commande Tee ?

  4. La commande Rm dans le script Bash ne fonctionne pas avec la variable ?

  5. Comment fonctionne la commande Exit sur un terminal Unix ?

Comment écrire un script bash avec des exemples

Comment utiliser la commande de lecture Bash

Bash Scripting Part2 - Boucles For et While avec exemples

Comment rechercher des fichiers avec des dizaines de critères avec la commande Bash Find

Comment fonctionne la commande 'ls' sous Linux/Unix ?

Comment fonctionne la commande ps ?