2013-07-02 61 views
0

我在bash中编写了下面的简单代码来自动执行Ubuntu中的Fortune程序。 $ 1需要文件名,另一个命令行输入需要连续显示10秒睡眠的幸运数。我希望你能帮我修改代码,这样如果我按下ENTER键,10秒的睡眠时间将减少到零,这意味着它会显示下一个'财富'。由于执行repreat bash命令时的睡眠持续时间操作

#function myfortunelearn 
myfortunelearn(){ 
    cd $HOME/folder1/folder2 
    numberofitems=$1 
    shift 
    echo -e "\n" 
    for i in `seq $numberofitems`; do 
     fortune [email protected] 
     sleep 10 
     echo -e "\n" 
    done 
} 

回答

3

达到这一目的的最简单的方法是改变:

sleep 10 

要:

read -t 10 

这将等待从键盘输入10秒,并返回,如果它超过了超时而没有读取任何输入。