Bash:选项菜单无需等待输入

时间:2015-07-29 04:17:22

标签: bash

我有一个选项菜单功能:

function()
{
echo "1    Option 1"
echo "2    Option 2"
echo "3    Option 3"
echo "q    Exit"
read -p "Select 1-3 ή \"q\" to quit: " i    
case "$i" in
    1)
    echo "option 1"
    echo;;
    2)   
    echo "option 2"
    echo;;

    3) 
    echo "option 3"
    echo;;

    q) echo -e "\033[01;33mexit!!!\033[39m"
    sleep 1
    clear
    exit ;;
     *)
        echo "Unknown command"
        read -s -n 1 -p "Press any key to continue…"
        echo
esac
}
while: 
do function
done

以上工作正常,但在命令运行前输入数字后需要按回车键。当我按下键时,有没有办法立即运行命令?

1 个答案:

答案 0 :(得分:1)

您在示例代码中已经得到了答案(在第二个read中)。您希望利用bash的{​​{1}}功能(请注意,这不符合POSIX标准,因此它不会在read -n 1中可靠地工作,除非发生这种情况映射到/bin/sh):

bash