2017-02-15 87 views
0

我知道如何像做循環順序:慶典 - 爲循環不同迭代

for i in $(seq 0 63) 
do 
    echo $i 
done 

這將打印0-63。 但是如果我想某些號碼的循環只喜歡0,5,25,43,44,51,54

我知道我可以做到以下幾點:

for i in $(seq 0 63) 
do 
    if [ "$i" -eq 0 ] || [ "$i" -eq 5 ] || [ "$i" -eq 25 ] || [ "$i" -eq 43 ] || [ "$i" -eq 44 ] || [ "$i" -eq 51 ] || [ "$i" -eq 54 ]; then 
    echo $i 
    fi 
done 

但結果將是它仍然經歷那些循環迭代,並且不是有效的解決方案。

有什麼我可以用seq來描述這些特定的數字0,5,25,43,44,51,54?

回答

1

如果你想遍歷一個已知的名單,你可以簡單地存儲的元素,空間分隔,在變量中,遍歷是:

nums="0 5 25 43 44 51 54"; 
for i in $nums; 
do echo $i; 
done; 
+0

對於OP,'seq'只是產生這樣的一個硬編碼的列表。 – chepner