我有一个选项菜单功能:
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
以上工作正常,但在命令运行前输入数字后需要按回车键。当我按下键时,有没有办法立即运行命令?
答案 0 :(得分:1)
您在示例代码中已经得到了答案(在第二个read
中)。您希望利用bash
的{{1}}功能(请注意,这不符合POSIX标准,因此它不会在read -n 1
中可靠地工作,除非发生这种情况映射到/bin/sh
):
bash