GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Skript führt Schleife nur einmal aus?

Auf diese Frage gibt es hier bereits eine Antwort :Klammererweiterung funktioniert nicht in einem Skript

(1 Antwort)
Vor 1 Jahr geschlossen.

Ich verwende dieses Skript auf einem Router mit Entware, um die Antwort der Website alle 15 Minuten zu überprüfen. Es läuft nur einmal und endet nach den ersten 15 Minuten. Warum?

#! /bin/sh

for i in {1..10}
do  
  date >> webresp.csv
  curl -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null www.google.com | tee -a webresp.csv
  sleep 900
done

Akzeptierte Antwort:

Ändern Sie dies:

for i in {1..10}

dazu:

for i in $(seq 10)

…und das Skript sollte dann wie erwartet funktionieren.


Linux
  1. Wie spiele ich einen Ton ab, wenn die Skriptausführung bereit ist?

  2. Wie gebe ich das Passwort nur einmal in einem Bash-Skript ein, das Sudo benötigt?

  3. Wie stelle ich sicher, dass jeweils nur eine Instanz eines Ruby-Skripts ausgeführt wird?

  4. Wie misst man die durchschnittliche Ausführungszeit eines Skripts?

  5. Antworten Sie mit Ja auf ssh-copy-id, das zum ersten Mal von einem Skript ausgeführt wird?

Ausführungszeit des Shell-Skripts in Linux drucken

Bash-Skript für Schleife mit Beispielen erklärt

Bash-Skript zur Berechnung der verstrichenen Zeit

Nur verschieben, wenn die Datei in einem Shell-Skript vorhanden ist

Führen Sie jeden Tag zu einer bestimmten Zeit ein Shell-Skript aus

Messen Sie die Ausführungszeit des Skripts