ご協力ありがとうございます。 2つの配列を照会するために、Ubuntuシステムでforループを実行しています。
for ((prod in "${Prod_elements[@]}";sProd in "${Prod_elements_stripped[@]}"))
上記の配列は、ファイルではなく bash で実行されたときに生成されます。
Prod_elements=("a/A" "b/B" "c/C" "d/D" )
Prod_elements_stripped=("a-A" "b-B" "c-C" "d-D")
それから
do echo "$prod" " " "$sProd"
done
だから
完全な Prod_elements=("a/A" "b/B" "c/C" "d/D" ) Prod_elements_stripped=("aA" "bB" "cC" "dD")
for ((prod in "${Prod_elements[@]}";sProd in "${Prod_elements_stripped[@]}"))
do
echo "$prod" " " "$sProd"
done
必要な算術エラーexpを提供します。どうすればいいですか?ありがとう
答え1
正しく実行したいことを推測すると、2つのインデックス配列の代わりに単一の連想配列を使用できます。
declare -A prod=( ["a/A"]="a-A" ["b/B"]="b-B" ["c/C"]="c-C" ["d/D"]="d-D" )
for key in "${!prod[@]}"; do
printf "Key '%s' corresponds to value '%s'\n" "$key" "${prod[$key]}"
done
もしあなたなら〜しなければならない検討中のアプローチを使用すると、インデックスを繰り返し実行できます。
Prod_elements=("a/A" "b/B" "c/C" "d/D" )
Prod_elements_stripped=("a-A" "b-B" "c-C" "d-D")
for ((i=0; i<${#Prod_elements[@]}; i++)); do
printf '%s %s => %s\n' "$i" "${Prod_elements[$i]}" "${Prod_elements_stripped[$i]}"
done