每次运行此脚本时,它都会打印0,然后以错误
中止./hw4_1: line 6: syntax error near unexpected token `let'
./hw4_1: line 6: ` let COUNTER=0'
来源:
#!/bin/bash
COUNTER=0
echo $COUNTER
for i in {$@:2}do
let COUNTER=0
while [COUNTER -ne $1]; do
echo "$i"
let COUNTER+=1
done;
done
exit
我已经尝试摆脱let并在COUNTER之前添加一个美元符号,但没有这些东西的组合工作......这个bash语法正在杀了我。 将'COUNTER = 0'更改为COUNTER = 0 只返回错误
./hw4_1: line 6: syntax error near unexpected token `let'
./hw4_1: line 6: ` let COUNTER=0'
答案 0 :(得分:2)
在for语句的值列表后面需要一个分号(或换行符):
for i in "${@:2}"; do
我还添加了引号,因为你可能想要它们(但可能不是)。
答案 1 :(得分:0)
无需使用let
。只需使用:
COUNTER=0
您需要在其他地方使用$ COUNTER,例如:
while [ $COUNTER -ne $1 ]
并做增量:
COUNTER=$(($COUNTER + 1))