次の文を使用して以下の変数を印刷するためにforループを使用していますが、値が正しく印刷されません。繰り返し値のみを提供します。誰でも私を助けることができますか?
value1="1500067"
value2="1500068"
value3="1500069"
package1="CNN"
package2="FOX"
package3="Discovery"
for iteration in {1..3}
do
echo ""$value""$iteration" - "$package""$iteration""
done
予想出力:
1500067 - CNN
1500068 - Fox
1500069 - Discovery
ベストアンサー1
次のタスクには実際に配列を使用する必要があります。
#!/bin/bash
values=(
1500067
1500068
1500069
)
packages=(
CNN
FOX
Discovery
)
for (( i=0; i < ${#values[@]}; i++ )); do
echo "${values[i]} - ${packages[i]}"
done
または、自然なキーと値のペアがあるため、連想配列
#!/bin/bash
declare -A packages=(
[1500067]=CNN
[1500068]=FOX
[1500069]=Discovery
)
for key in "${!packages[@]}"; do
echo "$key - ${packages[$key]}"
done