这是我的脚本的一部分:
read main_menu
case "$main_menu" in
"0" ) exit
;;
"1" ) cp /etc/bamt/cgminer.conf.X11 /etc/bamt/cgminer.conf;
sudo mine restart;
;;
Run Code Online (Sandbox Code Playgroud)
我怎样才能在用户输入 0 或 1、2 等后,他不必按下Enter键?实际上,当您输入数字时,它会直接跳到下一个菜单或功能,而无需按Enter。
你能帮我在这里实施吗?
while :
do
echo -e "\n Test script"
echo -e "\t (0) Exit"
echo -e "\t (1) Option 1"
echo -n "Enter choice:"
read main_menu
case "$main_menu" in
"0" ) exit
;;
"1" ) exit
;;
esac
done
Run Code Online (Sandbox Code Playgroud)
Bashread
支持许多选项,其中包括-n 1
:
$ read -n 1 main_menu
1$ echo $main_menu
1
Run Code Online (Sandbox Code Playgroud)
该-n
选项意味着:
read 读取后返回 nchars 个字符而不是等待完整的输入行,但如果在分隔符之前读取的字符少于nchars 个字符,则使用分隔符。
-n 1
告诉read
在读取输入的单个字符后返回,因此只要用户按下1thenread
就会停止并将输入保存到变量中。
归档时间: |
|
查看次数: |
5166 次 |
最近记录: |