热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LinuxBash下如何实现快捷键效果

文章标题:LinuxBash下如何实现快捷键效果。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

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

  本文出自 “希奥开源” 博客,请务必保留此出处http://wangxiaoyu.blog.51cto.com/922065/251847


推荐阅读
author-avatar
天辰Tcqq
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有