如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Linux操作系统11.1shell概述11.2shell变量11.3shell的控制结构11.4shell应用实例11.5小结11.1shell概述shell本身也是一种可编程的程序设计语言。用shell写的程序(shell脚本)相当于dos/windows下的批处理文件,它可以简单到只有一条命令,也可以复杂到包括大量循环、条件语句、数学运算、控制结构,也可以是介于两者之间的程序。11.1.3Shell程序的创建与执行11.1.4Shell程序示例11.2shell变量11.2.2用户自定义变量用户自定义变量语法格式:name=string,赋值号“=”两边不允许有空白符。例:nodehost=beijing.UUCPpath=/bin:/usr/bin:/etc/bincount=10例:#B=abcA=$BC=″OK″#echo$A$B$CabcabcOK当引用一个未设置的变量时,其隐含值为空。例:#echo″$mailispathofmailbox″ispathofmailbox11.2.3shell中的特殊字符1.双引号(“”)如果用双引号“”将值括起来,则括起来的字符串允许出现空格、制表符和换行符等特殊字符,而且允许有变量替换。例1:#MAIL=/var/mail/fk#var=″$MAILispathofmailbox″#echo$var/var/mail/fkispathofmailbox例2:#str=″Thisis\nabook″#echo–e$strThisisabook双引号内能保留原有含意的字符有:$、`、!、\例1:#echo″Typea\$*,please″Typea$*,please例2:#echo″todayis`date`″显示当前时间例3:#echo″!3″2.单引号(‘’)使用单引号消除被括在单引号中的所有特殊字符的含义,即单引号表示内容照原样不动。例1:#BOOK=″Englishbook″#MSG=′$BOOK′#echo$MSG-echo′$MSG′#$BOOK$MSG例2:#msg=′Todayis`date`′#echo$msgTodayis`date`3.反撇号(``)当一个字符串被括在反撇号“`”中时,该字符串将作为命令被shell解释执行,即用命令的执行结果替换这个字符串本身。要注意反撇号与单引号的区别。例1:#lm=`pwd`#echo$lm/root例2:#now=′date′#echo$nowdate#now=`date`#echo$now1998年10月28日星期三17时51分56秒CST例3:#echo″Hostname:`hostname`″$()的功能与``一样例1:#now=$(date)#echo$now例2:#echo$(pwd)例3:#echo″Hostname:$(hostname)″4.转义符(\)使用转义符消除单个字符的特殊含义,即将紧跟在转义符后面的单个字符按字符本身的实际含义解释。例1:#echoyourcostis$5.00#echo″yourcostis$5.00″#echoyourcostis\$5.00例2:转义符具有续行功能#ls-l#ls\>-l例3:echo**00000**echo\*\*00000\*\*echo″**00000**″echo′**00000**′5.大括号{}引用变量的值时,可以用花括号{}将变量名称括起来,使变量名称与它的后续字符分隔开,如果紧跟在变量名称后面的字符是字母、数字或下划线时,必须要使用花括号。例1:#num=2#echo″thisisthe$numnd″#echo″thisisthe${num}nd″例2:#str=′Thisisastring′#echo″${str}enttestofvariables″Thisisastringenttestofvariables#echo″$strenttestofvariables″testofvariables11.2.4常用命令1.echo命令显示变量内容#echo$variable2.set命令显示目前系统中全部的变量内容#set3.unset命令直接将该变量的内容拿掉:#unset变量名4.read命令上面讲的变量都是直接设定的!那么是否可以让变量内容是由使用者由键盘输入呢?可以使用read命令,这个命令在脚本里面是比