大部分的Unix操作系统命令,其命令执行后都会输出比较详细的参数。但是有时候系统工程师可能不需要这么详细的信息。如date命令,其会显示时间、日期、年数等等信息。但是系统工程师在开发一些应用程序的时候,可能只需要时间信息。为此就需要利用一些工具从中抽取相关的参数信息。其实不光光是在Unix系统管理中,在其他一些程序的开发平台中也会遇到这种情况。而其他一些平台的话,他们则是通过字符串截取或者其他一些类似的方法实现。而在Unix系统中则提供了一些比较专业的命令,用来操作位置参数。如set和shift命令。
在介绍这两个命令的使用要点之前,笔者先给大家看一个截图。如下图所示,这张图就是利用set命令来来操作位置参数。让其从date命令中抽取部分结果。这个特性不仅可以格式化显示结果,而且在shell中开发一些应用程序将会变得很有用。
一、set命令简介。
在Unix系统中,set命令时一个很有用的系统命令,其可以帮助系统管理员实现很多需求,如设置环境变量等等。在这里,其主要是用来实现这支位置参数。其实在Unix系统中,有很多种方法可以用来实现在命令结果中抽取特定的参数。如可以利用外部命令cut实现从一个输出结果中截取一个字段的内容。但是,利用cut命令来实现这个功能的话,就显得有点业余了。既然Unix操作系统提供了其他一些更加专业的命令来实现这些功能,系统工程师为什么要舍近求远呢?
其实在Unix系统中的标准shell中就提供了一些内部命令,来实现功能。其中set命令就是比较有代表性的一个命令。Set命令可以把参数赋值给$1、$2等位置参数。通过情况下,如果系统工程师要从程序的输出结果中提取某些内容则往往是利用这个命令来实现。