簡體   English   中英

Bash for循環語法說明

[英]Bash for loop syntax explanation

我正在使用Bash shell和Linux OS。 我有以下for循環:

for ((i=0;i<${#listModels[@]};i++))
do
var=${listVersion[$i]}
if [ ${!var} ]
then
    export MY_LIBRARY_PATH=$MY_LIBRARY_PATH:$ROOT_PATH/${listModels[$i]}/${listModels[$i]}_${!var}
else
    echo ">>>> No ${listModels[$i]} version! <<<<"
fi
done

在此之前,腳本中包含以下內容:

listModels=(model1
model2
model3)

listVersion=(MODEL1
MODEL2
MODEL3)

概念是MODEL1,MODEL2和MODEL3時不時地變化,例如,變為MODEL1.1,MODEL2.2等。我希望腳本會在listVersion值每次更改時修改我的路徑。 但是誰能解釋for循環函數的精確度(尤其是[@]和[$ i]東西)。 我是Bash的新手,我只知道基本命令。 提前致謝!

man bash${#array[@]}返回數組中的元素數。 同樣, ${array[$i]} (更好地寫為${array[i]} )返回${array[i]}$i -th元素。

#! /bin/bash
array=( a b c )
echo Size: ${#array[@]}
echo First: ${array[0]}
echo Second: ${array[1]}
echo Last: ${array[-1]}  # Negative index counts from the right!

暫無
暫無

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

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