如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Linux操作系统主要内容和学习要求Shell脚本Shell脚本的编写第一行:指定用哪个程序来编译和执行脚本。#!/bin/bash#ThisisthefirstBashshellprogram#Scriptname:greetings.shechoecho–e"Hello$LOGNAME,\c"echo"it'snicetalkingtoyou."echo"Yourpresentworkingdirectoryis:"pwd#Showthenameofpresentdirectoryechoecho–e"Thetimeis`date+%T`!.\nBye"echoecho命令参数:#!/bin/bash#Thisscriptistotesttheusageofread#Scriptname:ex4read.shecho"===examplesfortestingread==="echo-e"Whatisyourname?\c"readnameecho"Hello$name"echoecho-n"Wheredoyouwork?"readecho"Iguess$REPLYkeepsyoubusy!"echoread-p"Enteryourjobtitle:"#自动读给REPLYecho"Ithoughtyoumightbean$REPLY."echoecho"===Endofthescript==="read命令状态变量$?中保存命令退出状态的值内置测试命令testname=Tom[$name=[Tt]??]echo$?字符串测试检查空值整数测试,即比较大小整数测试也可以使用let命令或双圆括号逻辑测试x=1;name=Tom;[[$x-eq1&&$name=To?]];echo$?文件测试:文件是否存在,文件属性,访问权限等。语法结构commands为可执行语句块,如果为空,需使用shell提供的空命令“:”,即冒号。该命令不做任何事情,只返回一个退出状态0ex4if.shchkperm.shchkperm2.shname_greptellmetellme2idcheck.sh语法结构case语句举例:yes_no.shyes_no.sh语法结构执行第一轮循环时,将list中的第一个词赋给循环变量,并把该词从list中删除,然后进入循环体,执行do和done之间的命令。下一次进入循环体时,则将第二个词赋给循环变量,并把该词从list中删除,再往后的循环也以此类推。当list中的词全部被移走后,循环就结束了。forloop.shforloop2.shmybackup.shpermx.sh语法结构语法结构用于强行退出当前循环。如果是嵌套循环,则break命令后面可以跟一数字n,表示退出第n重循环(最里面的为第一重循环)。months.shecho-n"Processweek$weekof$month?"readansif["$ans"=n-o-z"$ans"]thencontinueelseecho"Nowprocessingweek$weekof$month."sleep1#Commandsgohereecho"Doneprocessing..."fifidonedonesleep和exit语法结构runit.sh运行结果:例:goodboy.shgoodboy.shshift[n]doit.sh运行结果:生成随机数的特殊变量字符串操作ex4strsh–x脚本名编程小结:变量编程小结:输入输出字符串测试编程小结:条件测试编程小结:条件测试编程小结:条件测试编程小结:控制结构function_name(){commands}函数举例只需输入函数名即可调用该函数。ex4fun2.shex4fun3.sh向函数传递参数向函数传递参数例:ex4fun4.shechoecho"Nothingpassed"func2#Calledwithnoparamsechoecho"Oneparameterpassed."func2first#Calledwithoneparamechoecho"Twoparameterspassed."func2firstsecond#Calledwithtwoparamsechoecho"\"\"\"second\"passed."func2""second#Thefirstparameteriszerooflengthechoexit0#Endofscript函数与命令行参数例:ex4fun5.shreturn与exit例:ex4fun6.shreadnum1num2