![脚本仅执行一次循环](https://linux22.com/image/156104/%E8%84%9A%E6%9C%AC%E4%BB%85%E6%89%A7%E8%A1%8C%E4%B8%80%E6%AC%A1%E5%BE%AA%E7%8E%AF.png)
我在路由器上使用此脚本,使用 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 扩展,而不是标准 shell。 Bash 将扩展{1..10}
为 10 个单词,对于标准 shell 来说它只是一个单词。
答案2
改变这个:
for i in {1..10}
对此:
for i in $(seq 10)
...然后脚本应该按预期工作。