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

系统 Linux
一直想通过Bash实现像VI编辑器中那样,按一个键便自行执行某种操作,一个偶然的机会发现stty可以实现。

一直想通过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 这个很常用,常用来用来要求用户输入密码时用。
 

  1. 详细闲扯Linux Bash命令查询历史事件操作功能
  2. 深谈讲述LINUX Bash命令行编辑
  3. 深入讨论Linux Bash命和令文件名扩展特性
责任编辑:赵宁宁 来源: chinaitlab
相关推荐

2010-03-05 14:19:55

Linux bash快

2010-06-23 10:57:12

Linux Bash命

2011-01-21 14:54:29

Thunderbird快捷键

2011-07-06 12:44:54

xcode

2009-06-16 13:53:00

netbeans 快捷

2009-11-30 13:22:23

Suse Linux快

2011-07-26 09:48:47

Shell快捷键grepinit

2024-01-03 15:28:37

Linuxnano编辑器

2009-08-11 09:35:47

Linux命令行linux命令快捷键

2009-06-09 16:41:46

NetBeans快捷键java

2018-03-12 10:35:01

LinuxBash快捷键

2009-09-10 18:06:25

C# button快捷

2010-03-04 14:25:50

Linux快捷键

2011-04-25 09:03:56

VS快捷键

2011-04-02 15:33:12

SQL快捷键

2013-05-30 09:57:49

iOS开发移动开发Xcode快捷键

2010-07-28 09:55:35

Flex 快捷键

2023-05-05 17:11:11

前端Mousetrap方式

2023-11-02 10:14:50

TinykeysWeb应用

2009-05-13 08:02:23

SUSELinuxDesktop
点赞
收藏

51CTO技术栈公众号