欢迎来到天天文库
浏览记录
ID:40710781
大小:155.50 KB
页数:11页
时间:2019-08-06
《Aix-shell 入门》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、所有的UNIX®用户都应该了解如何使用KornShell脚本。通过编写Shell脚本,可以让您实现许多任务的自动化,并可以为您节约大量的时间。初看起来,它似乎令人生畏,但只要遵循正确的指导,您就可以熟练地使用它。本文将指导您编写自己的KornShell脚本。什么是Shell?IBM®AIX®操作系统和其他的类UNIX操作系统一样,都需要通过某种方式与内核进行通信。这项任务正是通过使用Shell来实现的。您可以使用各种不同的Shell,但本文重点关注于KornShell。KornShell是AIX所使用的缺省Shell。当您登录到AIX
2、中时,将以某个目录的提示符作为开始。缺省目录通常是您的home目录。之所以将其称为home目录,是因为该目录的结构通常如下所示:$/home/jthomas:当登录时,您将处于命令行或者命令提示符处。这正是您输入UNIX命令的地方。您可以输入与UNIX内核进行交互的Shell命令。这些命令可能简单到只有一行(比如查看日期),也可能为多行,而这取决于您所进行的操作。清单1提供了一些示例命令。清单1.示例命令$dateFriMay122:59:28EDT2008$uptime10:59PMup259days,9:44,5users,loa
3、daverage:3.81,14.27,13.71$hostnamegonzo有关Shell命令的最棒的一项功能是,您可以将多个命令组合在一个称为脚本的文件中,它允许您依次运行多个命令。当您必须一次又一次重复地运行相同的命令时,使用脚本非常合适。您可以将这些命令放到一个KornShell脚本中,而无需反复地键入这些命令。编写您的第一个KornShell脚本KornShell脚本中的第一行是Shell自身。它被表示为下面的形式:#!/bin/ksh要在AIX中编写KornShell脚本,您需要使用一种文本编辑器。vi是一种使用最广泛、且
4、随处可见的文本编辑器。开始接触时可能会觉得有点麻烦,但随着使用vi的次数的增多,您将熟练地掌握它。关于如何使用vi文本编辑器,人们撰写了很多相关的书籍。要开始编写您的第一个KornShell脚本,首先需要打开vi编辑器,并添加Shell名称作为第一行。完成这项操作之后,您需要构建某种类型的脚本标头,用来告诉编写脚本的用户,该脚本将执行什么操作,以及该脚本的编写时间。您可以对脚本进行任意地命名,但通常使用扩展名.ksh来表示KornShell脚本。您并不是必须要这样做,但这是一种很好的做法。镑符号(#)可用于对脚本进行注释,如清单2中所
5、示。清单2.脚本标头的示例$vimy_first_script.ksh#!/bin/ksh####################################################WrittenBy:JasonThomas#Purpose:Thisscriptwaswrittentoshowusershowtodeveloptheirfirstscript#May1,2008###################################################这个脚本标头非常简单,但它应用了上述的技巧。回
6、页首变量在脚本中设置变量是相当简单的。我通常使用大写形式来表示脚本内的所有变量,如清单3所示,但您不需要这样做。清单3.变量的示例#DefineVariablesHOME="/home/jthomas"#SimplehomedirectoryDATE=$(date)#SetDATEequaltotheoutputofrunningtheshellcommanddateHOSTNAME=$(hostname)#SetHOSTNAMEequaltotheoutputofthehostnamecommandPASSWORD_FILE="/e
7、tc/passwd"#SetAIXpasswordfilepath回页首KornShell的具体细节到目前为止,作为编写KornShell脚本的入门内容,您已经了解了如何编写基本的脚本标头,以及定义变量。现在,您可以开始编写一些KornShell代码了。让我们开始从某个文件中读取一些行。在这个示例中,使用您已经在脚本中定义过的/etc/passwd文件,并且仅打印用户名称,如清单4中所示。清单4.for循环$vimy_first_script.ksh#!/bin/ksh#################################
8、###################WrittenBy:JasonThomas#Purpose:Thisscriptwaswrittentoshowusershowtodeveloptheirfirstscript#M
此文档下载收益归作者所有