스크립트는 한 번만 루프를 실행합니다.

스크립트는 한 번만 루프를 실행합니다.

나는 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)

...그러면 스크립트가 예상대로 작동해야 합니다.

관련 정보