Bash输入而不暂停脚本?

时间:2015-01-05 02:32:37

标签: bash input

在Bash中,获取(用户)输入的唯一方法似乎是使用read方法,该方法暂停脚本的其余部分。有没有办法在不暂停脚本的情况下接收命令行输入(以回车键结尾)。从我所看到的,可能有一种方法可以用$ 1来做...?

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

否则你可以在后台运行一个命令,同时在前台输入提示输入。等...

相关问题