BASH:使用“let”增加变量

时间:2013-12-03 15:24:32

标签: database bash let

我想问一下你们是否知道如何修复我的剧本。 我想用let命令做好准备.. 任何想法?

a=1
read -p "Enter any number: " COUNTER
until [ 1 -eq $COUNTER ]; do
    echo "What is the name for $COUNTER ?"
    read name1

    START=$COUNTER
    END=1
    for i in $START
    do
        echo "$i"

        echo ${name1}_$i: >> foo.sh

    done


    echo COUNTER $COUNTER
    let a\+=1

done  

2 个答案:

答案 0 :(得分:3)

有几种方法可以在bash中增加变量:

# one way
a=$((a+1))

# or even just
((a++))

# using "let"
let "a=a + 1"

回答你的评论,你可以做到

${name1}_$((a++))

${name1}_$((++a))

取决于您是想在之前增加变量,还是在 echo之后增加

答案 1 :(得分:1)

在脚本的最顶部有声明:

a=1

这似乎导致了这个问题。变量应该声明为整数,这可以通过两种方式实现:

declare -i a

let a=1

可以使用另一个let声明或双重表示法进行进一步的算术运算,其中$前缀并不总是像for循环一样使用:

for ((i=0; i<10; ++i)); do
    echo "i=$i"
done