私はEntwareを使用して15分ごとにウェブサイトの応答を確認するために私のルータでこのスクリプトを使用します。一度だけ実行され、最初の15分後に終了します。なぜ?
#! /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
答え1
あなたはを使用しています#! /bin/sh
。{1..10}
標準シェルではなく bash 拡張です。 Bashは10語まで拡張されます{1..10}
。標準シェルでは、単一の単語に展開されます。
答え2
これを変更してください:
for i in {1..10}
これに関して:
for i in $(seq 10)
...その後、スクリプトは期待どおりに機能するはずです。