文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>【linux】Shell编程中的菜单建立方法的比较分析

【linux】Shell编程中的菜单建立方法的比较分析

时间:2010-10-25  来源:terasic

   here文档的方法重要是使用here建立屏幕输出,然后手工建立备选条目的连接关系,而select命令则直接提供了目录显示以及条目连接的功能。

  两者的使用对比:

  A.使用HERE文档

  here文档的使用方法:

  

  A here document is a special-purpose code block. It uses a form of I/O redirection to feed a command list to an interactive program or a command, such as ftp, cat, or the ex text editor.

   1 COMMAND <<InputComesFromHERE   2 ...   3 InputComesFromHERE

A limit string delineates (frames) the command list. The special symbol << designates the limit string. This has the effect of redirecting the output of a file into the stdin of the program or command. It is similar to interactive-program < command-file, where command-file contains

   1 command #1   2 command #2   3 ...

The here document alternative looks like this:

   1 #!/bin/bash   2 interactive-program <<LimitString   3 command #1   4 command #2   5 ...   6 LimitString

Choose a limit string sufficiently unusual that it will not occur anywhere in the command list and confuse matters.

 

  在使用here建立菜单中我们正是看中他可以接受多个参数的特点,与case语句一起使用。其中here用来建立在屏幕上显示的选项,case用来检验用户的选择并执行相应的命令。使用here的例程:

                               

显示结果:

                           

  从本例可以看出,使用和here文档的方式建立目录,只是在显示上得到了实惠。下面使用select命令来实现目录的建立。

  B.使用select命令

  select命令的主要功能就是建立目录菜单。其基本原理是,将一个数字化的菜单显示在错误输出上,PS3用来提示用户输入。默认的PS3是#?。在PS3提示显示以后,shell就等待用户的输入。输入的是改菜单上的数字,若获得了输入,就自动保存在了变量REPLY中,则变量REPLY中的数字和括号右边的选项自动建立了连接关系。例子:

 

                            

输出结果:

                          

从结果中可以看到,select的使用具有以下的特点:

1.与使用here相比,select函数可以自动生成备选条目列表,省略了here的使用;select的使用同时可以自动生成列表和参数之间的对应关系,,在例2中可以直接使用$choice显示参数,若显示代号可以使用$REPLY.而例1中choice内部数值只是人工建立链接时的代号,$choice只能显示123等,

2.select是循环函数,若在do后想结束程序,需自己加入break,从例2可以看出有无break的区别。

3.select使用时常使用PS3作为自动输出,PS3显示在菜单的底部。

4.select命令建立菜单相比之下具有高的效率。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载