【问题标题】:Shell Scripting For loop Syntax ErrorShell Scripting For 循环语法错误
【发布时间】:2010-06-08 17:20:35
【问题描述】:

我正在尝试制作一个简单的 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++ ))'

这是代码:

#!/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

有人能告诉我我在 for 循环语法上做错了什么吗? 谢谢!

【问题讨论】:

  • for 循环语法看起来不错。
  • 脚本在 bash 版本 3.2.49 上按原样工作。

标签: bash shell


【解决方案1】:

根据CHANGES 文件,for 循环的样式是在 Bash 2.04 中添加的。

你需要使用seq:

for i in $(seq $totalArguments)

【讨论】:

    猜你喜欢
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 2017-04-17
    相关资源
    最近更新 更多