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

请先看脚本:

#!/bin/sh

# 我们可以通过这个脚本来实现,对按键的自动检测。至于用作什么,大家仁者见仁,智者见智了就,“英雄必有用武之地的”。

# 2009-12-29 13:00:54 update

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

【责任编辑:faya TEL:(010)68476606】

点赞 0

linux实现快捷键,Linux Bash下如何实现快捷键效果相关推荐

  1. linux中快捷脚本,Linux下Shell编程快捷键大全(日常整理)

    有时候,我们需要在 Bash 中重复执行先前的命令.你当然可以使用上方向键来查看之前曾经运行过的命令.但这里有一些更好的方式,例如,数量掌握以下的快捷键. 1) !!:重复执行上一条指令 2) !a: ...

  2. Linux快捷键-命令行下

    LINUX中命令行下是没有鼠标的,所以所有的操作只能通过键盘来实现.确实,鼠标对于电脑而言感觉还是很重要的,相对与Windows,Linux在易操作性上差的很多.所以,对于我们技术人员来讲,刚开始学习 ...

  3. Linux终端命令行下的常用快捷键使用

    Linux终端命令行下的常用快捷键 文章目录: ***`下面我只介绍常用的命令,其他的用的几乎很少,常用自然就是总会用的到的,而且用处比较大的,可以提高工作效率的,下面我亲自测试这些命令都是亲测可行的 ...

  4. linux idea 快捷键,Linux 下 IDEA 的 Ctrl+Alt+S

    前言 这是个困扰我一年多的问题,今天终于解决了-- 起因 一年前将主系统换成 Arch Linux 后,其他一切正常就是 IDEA 的打开设置的快捷键 ctrl+alt+s 失效,让我很是头疼.虽然不 ...

  5. linux 邮件附件 中文,linux bash下通过mailx发送中文内容显示为附件的解决

    满意答案 skicotvo99 2017.01.30 采纳率:44%    等级:8 已帮助:561人 linux bash下通过mailx发送中文内容显示为附件的解决mailx版本,这里默认是mai ...

  6. linux中bash的功能主要有,Linux系统中的Bash功能的介绍

    今天小编要跟大家分享的文章是关于Linux系统中的Bash功能的介绍.一个完整计算机的体系结构包括:硬件与软件,而软件又分为系统软件与应用软件,负责对硬件仅需管理与操作的是系统软件的内核部分,用户是无 ...

  7. linux编写php,Linux 下编写一个 PHP 扩展

    假设需求 开发一个叫做 helloWord 的扩展. 扩展里有一个函数,helloWord(). echo helloWord('Tom'); //返回:Hello World: Tom 本地环境 P ...

  8. Linux学习笔记8——bash基本概念

    一个操作系统的组成中,shell是与用户最接近的部分 shell:外壳,也是一种程序 GUI:Gnome,KDE,Xface CLI:sh,csh,ksh,bash,tcsh,zsh Linux中大多 ...

  9. windows命令行下访问linux,Windows支持直接访问Linux子系统文件:你的下一台Linux何必是Linux...

    原标题:Windows支持直接访问Linux子系统文件:你的下一台Linux何必是Linux 晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 微软,致力于做最好的Linux发行版. 今天, ...

  10. linux后台运行快捷键,Linux命令放入后台运行方法(和Ctrl+Z)详解版

    Linux 命令放入后台的方法有两种,分别介绍如下. "命令 &",把命令放入后台执行 第一种把命令放入后台的方法是在命令后面加入 空格 &.使用这种方法放入后台的 ...

最新文章

  1. linux 源码安装详解
  2. 排队接水pascal程序
  3. wp7 给TextBox设置圆角边框
  4. Linux下mp3文件的乱码问题
  5. 博弈论之软件测试的价值
  6. 嵌入式linux启动根文件系统,嵌入式Linux根文件系统制作和挂载
  7. ACM MM 2021 北航鹏城实验室提出 SOD 新方法:互补三边解码器网络(CTDNet),兼顾高性能和高效率...
  8. C语言和设计模式(解释器模式)
  9. 学习Java 第 4天 流程控制语句 one大白(●—●)
  10. 游戏上云?-游戏设计与开发(2)
  11. java程序 打包_Java程序打包方法最强集合
  12. 显卡功耗测试用什么软件,跑什么测试显卡功耗最高:这20个项目能给你答案
  13. 使用Mac文件保险箱加密数据
  14. LINUX 下查看设备状态的常用命令
  15. SitePoint Podcast#167:炉边聊天
  16. 浏览器被hao123劫持首页处理
  17. React上拉加载和下拉刷新
  18. VTK读取序列DCM格式医学图像
  19. Python爬虫:爬取某鱼颜值主播MM图片,你的最爱!?
  20. 视频剪辑没素材?一定要收藏这几个网站。

热门文章

  1. Python的Numpy库简述
  2. C#_MVC 自定义AuthorizeAttribute实现权限管理
  3. 网易的企业免费邮箱和腾讯的企业邮箱
  4. NetBeans 时事通讯(刊号 # 120 - Oct 14, 2010)
  5. flutter环境配置详解及开发第一个项目
  6. 分类损失函数多元分类_二元分类为什么不能用MSE做为损失函数?
  7. 决策树算法的应用python实现_决策树ID3和C4.5算法Python实现源码
  8. PHP报错 Module ‘openssl‘ already loaded in Unknown on line 0
  9. PHPStorm 设置背景图片
  10. MAC:一个数据缓冲区,作为参数传递到另外一个函数就崩溃