プロセス置換からそのプロセス置換のループに変数値を渡すには?
if
csvファイルを連想配列として読み込んでいますが、各行を読み取るときに配列の特定の要素が空でないことをテストし、その要素に対して操作を実行するループを持っていると思います。
IFS=","
$csvfile="path/to/file.csv"
declare -A arr1
declare -A arr2
declare -A arr3
while read -r -a linedata
do
arr1["${linedata[1]}"]="${linedata[10]}"
arr3["${linedata[1]}"]="${linedata[0]}"
echo repeat -"${linedata[2]}"-
if [[ -n "${linedata[2]}" ]] && [[ ! "${linedata[2]}" == "" ]] ; then
arr2["${linedata[2]}"]="${linedata[10]}"
arr3["${linedata[2]}"]="${linedata[0]}"
else
echo skipped for "${linedata[2]}"
fi
done < $csvfile
ブロックが以前に配列の値をecho
正しく印刷している間は、配列の値が条件に渡されていないようです。 (配列要素は一致する必要がありますが、条件は満たされません。)ブロックが実行された後、値は常に空です。if
linedata
if
else
これを試しましたが、< <($csvfile)
権限が拒否されたというエラーが発生しました。
事前にありがとう