我试图在shell脚本中的while循环中获取用户输入。
ls| while read p
do
echo $p
read key
done
我无法read
来自stdin
(键盘)的输入,因为我的输入是通过ls
传输的。
有人可以帮我在循环中获取用户输入吗?
答案 0 :(得分:2)
您可以使用file descriptor 0
从标准输入读取。或者只使用/dev/tty
。 $$
是您当前流程的pid的位置。
ls| while read p
do
echo $p
read key < /proc/$$/fd/0
# OR read key < /dev/tty
done