0
我正在尝试在shell脚本的while循环中获取用户输入。在Shell脚本的循环中获取用户输入
ls| while read p
do
echo $p
read key
done
我不能read
从stdin
(键盘)输入,因为我的输入是通过ls
管道。 有人可以帮助我在循环内获得用户输入吗?
我正在尝试在shell脚本的while循环中获取用户输入。在Shell脚本的循环中获取用户输入
ls| while read p
do
echo $p
read key
done
我不能read
从stdin
(键盘)输入,因为我的输入是通过ls
管道。 有人可以帮助我在循环内获得用户输入吗?
您可以使用file descriptor 0
从标准输入读取。或者只使用/dev/tty
。其中$$
是您当前进程的pid。
ls| while read p
do
echo $p
read key < /proc/$$/fd/0
# OR read key < /dev/tty
done
你为什么要管ls到读命令? – Ujjwal
使用'read key dev/tty'从终端读取。 –
@PS。有效。同样的问题也会在您的链接中解决。我将删除该问题。 – Fawzan