GNU/Linux >> Belajar Linux >  >> Linux

Script Mengeksekusi Loop Hanya Sekali?

Pertanyaan ini sudah memiliki jawaban di sini :Perluasan kurung kurawal tidak berfungsi dalam skrip

(1 jawaban)
Tutup 1 tahun yang lalu.

Saya menggunakan skrip ini di router menggunakan Entware untuk memeriksa respons situs web setiap 15 menit. Ini hanya berjalan sekali dan berakhir setelah 15 menit pertama. Mengapa?

#! /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

Jawaban yang Diterima:

Ubah ini:

for i in {1..10}

untuk ini:

for i in $(seq 10)

…dan skripnya akan berfungsi seperti yang diharapkan.


Linux
  1. Minta skrip bash menjawab permintaan interaktif

  2. Skrip Bash untuk menghitung waktu yang telah berlalu

  3. pindahkan hanya jika file ada dalam skrip shell

  1. Ukur waktu eksekusi skrip

  2. Jawab ya untuk ssh-copy-id pertama kali dijalankan oleh skrip?

  3. Bash loop unzip skrip file yang diberi kata sandi

  1. Apa Artinya `:-` Dalam Skrip Shell?

  2. Pergantian Riwayat Gagal Saat Diimplementasikan Dalam Script Shell?

  3. Shell Script while loop:[ di sekitar saluran pipa yang hilang `]'