bash read コマンドは、次の場合に非常に便利です。
- read -p を使用してユーザーにプロンプトを表示し、ユーザーからの入力をキャプチャします
- while readループを使用して、ファイルの行を反復処理します。
ただし、両方を同時に実行しようとすると問題が発生します。
例えば:
#!/bin/bash
while read item
do
echo Item: $item
read -p "choose wisely: " choice
echo You still have made a $choice.
done < /tmp/item.list
ユーザーが選択肢を入力するのをブロックして待機するのではなく、bash は $choice に item.list ファイル内の次の項目を入力します。
bash は読み取りループ内でネストされた読み取りをサポートしていますか?