• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

[转贴]UNIX/XENIX环境下SETKEY命令的应用技巧

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 26次 | 进入软件测试论坛讨论

领测软件测试网
[color=blue:53e3df04e1]

  DOS5.0以上版本中均含有DOSKEY命令,该命令具有追忆功能,当用户需要重复执行或浏览刚输入的命令时,只要按向上或向下的光标键就可追忆搜索,十分方便。在UNIX/XENIX系统中,虽没有类似的命令,用户也可通过SETKEY命令来给功能键赋值,从而达到提高输入速度或减少重复敲键的烦恼。下面就介绍一点应用体会。

一、 命令格式及相关说明
  setkey keynum string
  setkey命令指定用ANSI串(string)做为功能键keynum(键号)的输出,例如:
  setkey 1 date
  指定功能键1的输出为日期,串string可包含控制字符,如换行符,但应用引号括起来,防止被shell处理,例如:
  setkey 2 ″pwd;lf;who am i\n″
  指定功能2的输出为命令序列,例″pwd;lf;who am i″,注意此处的换行符是怎样嵌入在引号括起来的串中的。它使得按下功能键2时,命令立即执行,否则还得再按一次回车。
  setkey命令只对控制台键盘起作用。

二、 setkey命令的应用方式
  setkey命令有两种应用方式:
  1单串命令:即只指定串为单一命令,只完成单一功能的指定。
  例如:setkey 7 lpstat -o
  指定 功能键7为输出打印机有关状态信息
  2组合命令:即指定串为shell命令组合序列,可一次完成多条命令,此种方式应用较多。
  例如:setkey 8″who am i;pwd;lf|more\n″
  指定功能键8的输出为列出用户注册信息,当前路径,当前路径的所含有的文件分屏显示等。

三、 setkey命令使用限制
  setkey命令所定义的串的长度是有限制,一般不得超过31个字符,否则shell程序将提示如下错误信息:
  setkey:definition must be shorter than 31 characters
  告诉你所定义的串超出允许的长度。

四、 setkey命令特殊应用
  1长命令的定义方法
  已经知道setkey命令所指定的串的长度是有限的,但在实际应用过程中,经常会遇到一些很长的命令,而且还需多次运行,这时怎么办呢?办法是有的,可将长命令串进行适当分解,用多条setkey命令就能解决了。
  例如命令:
  dd if=/dev/rfd096ds15 of=/dev/rfd1135ds18 count=
1220k
  像这样的命令若重复输入会很费力的,下面是用setkey命令解决的例子:
  setkey 5 ″dd if=/dev/rdf096ds15″
  setkey 6 ″of=/dev/rfd1135ds18″
  setkey 7 ″count=1200k\n″
  设置完这些命令后,当需要重复执行上述命令时,可按顺序依次按f5,f6,f7,这样一条长命令就可以执行了。
  2在shell菜单编程中的应用
  系统维护人员经常会在主控制台完成各种维护任务,有时经常会对现有的各类应用软件系统进行备份,检查磁盘空间等相关操作,而这些过程每次维护时都相同,所以若能编辑一个通用的维护菜单肯定会大大地方便工作。下面介绍的就是用setkey命令进行菜单定义。
  (1)单独编写菜单子程序(menul);
  (2)再编写功能键定义程序(keyset);
  (3)最后将这些文件变为可执行文件。
  (4)在普通用户状态下直接运行keyset
  实现本功能的程序清单如下:
  1cat menul>/ dev/lp0
  ###############menu###############
  #  菜单文件
  #  供SETKEY命令调用
  ##################################
  menu()
  {
  clear
  echo ″\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n″
  echo ″t+-----简易维护工具集……………+″
  echo ″\t| F1:查看日期 F2:显示路径文件F3:读软盘                      信息|″
  echo ″\t| F4:查看自由空间 F5:退    出|″
  echo ″\t+---------------+″
  }
  menu
  2.cat keyset>/dev/lp0
  #################################### 
  # 命令: setkey
  # 功能键赋值命令在菜单系统中的应用
  # 设计 泰州市海陵 城市信用合作社
  #    电脑室     储久良
  #    1998年10月7日
  ####################################
  menul
  setkey 1 ″date;read x;menul\n″
  setkey 2 ″pwd;lf;read x;menul\n″
  setkey 3 ″tar tv2;read x;menul\n″
  setkey 4 ″df -v;read x;menul\n″
  setkey 5 ″clear;exit\n″
  #############结束#############
  3.chmod 700 menul keyset

作者单位:江苏泰州市海陵城市信用合作社(江苏泰州225300)[/color:53e3df04e1]

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网