脚本只执行一次循环

kie*_*lan 4 shell-script

我在路由器上使用这个脚本,使用 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
Run Code Online (Sandbox Code Playgroud)

Ral*_*edl 10

您正在使用#! /bin/sh. {1..10}是 bash 扩展,而不是标准 shell。Bash 将扩展{1..10}为 10 个单词,对于标准 shell,它只是一个单词。


agc*_*agc 1

改变这个:

for i in {1..10}
Run Code Online (Sandbox Code Playgroud)

对此:

for i in $(seq 10)
Run Code Online (Sandbox Code Playgroud)

...然后脚本应该按预期工作。