
我有一個文字文件,其中很少有 URL
銷售數據.txt
http://localhost:9380/run?startDate=2018-12-01&endDate=2018-12-31
http://localhost:9380/run?startDate=2018-10-01&endDate=2018-10-31
http://localhost:9380/run?startDate=2018-09-01&endDate=2018-09-30
http://localhost:9380/run?startDate=2018-08-01&endDate=2018-08-31
和 bash 腳本如下:
mapfile -t salesData < salesData.txt
i=0
echo 'hii'${i};
while [ ${i} -lt ${#salesData[@]} ] ; do
echo "Iteration Number is " ${i} >> audit.txt
curl -s --max-time 3600 ${salesData[${i}]}
sleep 30
echo "Successfully completed curl"
((i++))
done
腳本僅執行前兩個curl 命令,然後突然停止。我透過使用 ssh 連接到該盒子來在 Linux 伺服器上運行它。我如何確保所有的curl命令都以順序方式執行,而不僅僅是前兩個命令。我必須提取更大的數據,其中將有 12 個curl 命令,我想以順序方式執行它們,而不會導致腳本超時。
有人可以提供一些指導嗎?
答案1
所以這個劇本裡面有很多羞辱。一般來說,除非確實需要,否則最好堅持使用 POSIX。這是一個範例:
n1=0
while read each
do
echo "Iteration Number is $n1" >> audio.txt
curl -s --max-time 3600 "$each"
n1=$(( n1 + 1 ))
done < salesData.txt