在Bash中,获取(用户)输入的唯一方法似乎是使用read方法,该方法暂停脚本的其余部分。有没有办法在不暂停脚本的情况下接收命令行输入(以回车键结尾)。从我所看到的,可能有一种方法可以用$ 1来做...?
答案 0 :(得分:4)
read -t0
可用于探测输入
#!/bin/bash
a='\|/-'
spin()
{
sleep 0.3
a="${a:1}${a:0:1}"
echo -n $'\e'7$'\r'"${a:1:1}"$'\e'8
}
echo 'try these /|\- , dbpq , |)>)|(<( , =>-<'
echo -n " enter a pattern to spin:"
while true
do
spin
if read -t0
then
read a
echo -n " using $a enter a new pattern:"
fi
done
否则你可以在后台运行一个命令,同时在前台输入提示输入。等...