簡體   English   中英

BASH:使用“ let”遞增變量

[英]BASH: Incrementing a variable using “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  

有幾種方法可以增加bash中的變量:

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

# or even just
((a++))

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

回答您的評論,您可以做

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

要么

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

取決於要 echo變量之前還是之后增加變量。

在腳本的最上方是聲明:

a=1

這似乎引起了問題。 應該將變量聲明為整數,這可以通過兩種方式實現:

declare -i a

要么

let a=1

可以使用另一個let聲明或雙倍括號表示法來進行進一步的運算,其中不必總是像for循環中那樣使用$前綴:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM