Shell Scripting For循环语法错误

0 bash shell

我正在尝试制作一个简单的shell脚本来ping源,但我得到了

bash-2.03$ ./test.sh google.com 10 .5 /home/users/me 16 256
./test.sh: line 35: syntax error near unexpected token `(('
./test.sh: line 35: `for (( i = 1 ; i <= $totalArguments ; i++ ))'
Run Code Online (Sandbox Code Playgroud)

这是代码:

#!/bin/bash

ip=$1
count=$2
interval=$3
outputDirectory=$4
shift;
shift;
shift;
shift;
totalArguments=$#

for (( i = 1 ; i <= $totalArguments ; i++ ))
do 
    ping -c $count -i $interval -s ${!i} $ip >> $outputDirectory/${!i}results.txt
done
Run Code Online (Sandbox Code Playgroud)

有人能告诉我我的for循环语法有什么问题吗?谢谢!

Pau*_*ce. 5

根据CHANGES文件,for在Bash 2.04中添加了这种循环风格.

你需要使用seq:

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