Linux Bash下如何实现快捷键效果

简介:
一直想通过Bash实现像VI编辑器中那样,按一个键便自行执行某种操作,一个偶然的机会发现stty可以实现。
 
废话便不多说,附注中详注。
 
请先看脚本:
#!/bin/sh
# 我们可以通过这个脚本来实现,对按键的自动检测。至于用作什么,大家仁者见仁,智者见智了就,“英雄必有用武之地的”。
# 2009-12-29 13:00:54 update
wangxiaoyu(AT)live.com From  http://wangxiaoyu.blog.51cto.com
_tty_setting=$(stty -g)
stty -icanon
stty -echo
# We can use c2 arguement to use keyboard shortcut with 2 characters.
_key_press=$(head -c1)
stty $_tty_setting
# 下面是对输入进行判断的部分
#
case $_key_press in
        A) echo -en "我们这里可以替换成我们所要执行的命令字符串1\n"
        ;;
        2) echo -en "我们这里可以替换成我们所要执行的命令字符串2\n"
        ;;
        3) echo -en "我们这里可以替换成我们所要执行的命令字符串3\n"
        ;;
        4) echo -en "我们这里可以替换成我们所要执行的命令字符串4\n"
        ;;
        5) echo -en "我们这里可以替换成我们所要执行的命令字符串5\n"
        ;;
        6) echo -en "我们这里可以替换成我们所要执行的命令字符串6\n"
        exit 1;;
        *) echo -en "这里可以替换成脚本的帮助信息相关的命令\n"
esac
附注:
stty是用于显示和修改终端设置的,这个复杂的命令可以用在脚本中,用来控制终端 的行为或者显示输出的方法。结合特殊字符以及case或其它条件判断,我们很容易就可以实现像按下Ctrol + F 实现搜索文件。
 
脚本中。stty -g 是用来记录stty的参数,终端修改后在使用完毕后及时复原。
其中 stty -echo 这个很常用,常用来用来要求用户输入密码时用。



     本文转自xiaoyuwang 51CTO博客,原文链接:http://blog.51cto.com/wangxiaoyu/251847,如需转载请自行联系原作者

相关文章
|
1月前
|
Linux
linux常用快捷键
常用快捷键 [tab]键 这是你不能没有的 Linux 快捷键。它将节省你 Linux 命令行中的大量时间。只需要输入一个命令,文件名,目录名甚至是命令选项的开头,并敲击 tab 键。它将自动完成你输入的内容,或为你显示全部可能的结果。如果你只记一个快捷键,这将是必选的一个。 [ctrl+c]键 这些是为了在终端上中断命令或进程该按的键。它将立刻终止运行的程序。如果你想要停止使用一个正在后台运行的程序,只需按下这对组合键。 [Ctrl + Z]键 该快捷键将正在运行的程序送到后台。通常,你可以在使用&选项运行程序前之完成该操作, 但是如果你忘记使用选项运行程序,就使用这对组合键。 [C
50 2
|
3月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
4月前
|
Unix Shell Linux
在Linux中,什么是 BASH?
在Linux中,什么是 BASH?
|
4月前
|
Shell 网络安全
bash 和 zsh 命令行终端中的快捷键
bash 和 zsh 命令行终端中的快捷键
|
4月前
|
Linux
Linux中vi的常用命令和快捷键使用
Linux中vi的常用命令和快捷键使用
411 0
|
4月前
|
Shell Linux
在Linux中,哪⼀个bash内置命令能够进行数学运算?
在Linux中,哪⼀个bash内置命令能够进行数学运算?
|
4月前
|
缓存 Shell Linux
在Linux中,bash shell 中的 hash 命令有什么作用?
在Linux中,bash shell 中的 hash 命令有什么作用?
|
4月前
|
人工智能 物联网 Shell
在Linux中,BASH 和 DOS之间的区别是什么?
在Linux中,BASH 和 DOS之间的区别是什么?
|
4月前
|
Unix Shell Linux
在Linux中,什么是Bash脚本,并且如何使用它。
在Linux中,什么是Bash脚本,并且如何使用它。
|
4月前
|
存储 安全 Linux
Linux新手必备:关机重启、终端操作与快捷键大全
本文专为Linux新手打造,提供全面实用的指南,涵盖关机与重启命令(如`shutdown -h now`立即关机、`reboot`重启)、终端操作技巧(如使用`clear`清屏及Ctrl+L快捷键)、命令历史管理(利用`history`查看过往命令)及高效快捷键(如Ctrl+C复制、Ctrl+V粘贴),助您迅速掌握核心技能,成为Linux操作高手。
240 0