我想制作一个最终会实施测验的简短脚本。
我正在尝试阅读stdin
,其中包含一个以换行符号分隔的单词列表example input。
到目前为止,我的程序似乎没有将输入转换为任何类型的可迭代数组:
read inputlines
IFS=$'\n' read -rd '' -a y <<<"$inputlines"
for line in "${lines[@]}"
do
echo "$line"
done
现在如果我运行pbpaste | bash wordlearner.bash
根本没有打印任何内容,即使我期望(此时)基本上是输入内容的完美echo
。
如何将stdin
存储在以后进行循环播放?
答案 0 :(得分:1)
使用while循环,然后请求输入以读取/dev/tty
?
while read -r line; do
echo "$line"
echo "What do you think?"
read -r answer < /dev/tty
done
替代使用mapfile
将所有行都插入数组?
mapfile -t lines
for line in "${lines[@]}"; do
echo "$line"
done