この while ループでインタラクティブな応答をどのようにコーディングしますか?
#!/bin/bash
shows=$(< ${HOME}/.get_iplayer/tv.cache)
# ...
# ... stuff with shows omitted ...
# ...
function print_show {
# ...
return
}
while read -r line
do
print_show "$line"
read -n 1 -p "do stuff? [y/n] : " resp # PROBLEM
# ...
# resp actions omitted
# ...
done <<< "$shows"
したがって、ファイルが読み取られ、「処理」され、結果の行指向のデータがwhile read
ループで使用されます
しかし、while ループ内の読み取り行は意図したとおりに機能しません。つまり、おそらくwhile read
それがカプセル化されているコンテキストが原因で、ユーザーの応答を待機しません。
これを修正する方法または代替メカニズムを提案してください。