配列を動的に作成して埋めたいのですが、次のようには機能しません。
i=0
while true; do
read input
field[$i]=$input
((i++))
echo {$field[$i]}
done
配列を動的に作成して埋めたいのですが、次のようには機能しません。
i=0
while true; do
read input
field[$i]=$input
((i++))
echo {$field[$i]}
done
割り当ては問題ありません。ルックアップが間違っています:
echo "${field[$i]}"
次のようなことを試してください:
#! /bin/bash
field=()
while read -r input ; do
field+=("$input")
done
echo Num items: ${#field[@]}
echo Data: ${field[@]}
入力がなくなると (ファイルの終わり^D
、キーボードで) 読み取りを停止し、読み取った要素の数と配列全体を出力します。
i= field=()
while :; do
read -r 'field[i++]'
done
一方通行です。mapfile
別のものです。またはこれらのいずれか。ただし、投稿した内容は有効です。