[英]'if' in array w/ Shell Script
我有一個具有不同值的數組,如果值為 3(整數),則此值將交換為 999(整數)。 但是我在數組的“if”塊中有一個語法問題。
正確的回報是:1 999 5 7 9 999
vetor=(1 3 5 7 9 3)
for i in ${vetor[*]}
do
if [[ ${vetor[i]} = 3 ]]; then
${vetor[i]} = 999
fi
echo $i
done
這會在 Bash 中生成正確的 output:
vetor=(1 3 5 7 9 3);
for i in ${!vetor[*]};
do
if [[ ${vetor[i]} -eq 3 ]]; then
vetor[i]=999;
fi;
echo ${vetor[i]};
done
我加了!
在 for 循環表達式中獲取vetor
的索引而不是值,並且我在 if 條件中刪除了賦值周圍的 ${} (這給出了“如果 3 不是錯字”警告)。 還更改了 echo 以獲取 vetor[i] 的值,而不是打印索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.