ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:21.37KB ,
资源ID:1130558      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1130558.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(shell脚本实例.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

shell脚本实例.docx

1、shell脚本实例shell脚本实例-学习的捷径就是练习 写在前面: 1.在linux里面是不在乎后缀名的,但是建议写上后缀名,如test.sh,这样一眼便看出这是shell程序。 2.如果不能运行,一般要执行chmod +x filename 使文件可执行 3.执行格式一般为./test.sh,为了安全起见。 4.写shell脚本时最好要建立良好的习惯。 在每个 script 的档头处记录好(练习的时候免了吧) script 的功能; script 的版本资讯; script 的作者与联络方式; script 的版权宣告方式; script 的 History (历史纪录); script

2、内较特殊的指令,使用绝对路径的方式来下达; script 运作时需要的环境变数预先宣告与设定。来自: 鸟哥的私房菜 注:鸟哥的shell用的是bash,不过建议写成 #!/bin/sh这样就可以使用系统默认版本的shell,而不一定就是用bash。 在获取命令的运行结果中,鸟哥用的是(不是单引号),建议用$(),更好一些。# 请建立一支 script ,当你执行该 script 的时候,该 script 可以显示 1. 你目前的身份 (用 whoami ) 2. 你目前所在的目录 (用 pwd) view plaincopy to clipboardprint?1.#!/bin/bash 2.

3、echo-eYournameis=$(whoami)3.echo-eThecurrentdirectoryis=pwd# 请自行建立一支程式,该程式可以用来计算您还有几天可以过生日啊? view plaincopy to clipboardprint?1.#!/bin/bash 2.read-pPleasinputyourbirthday(MMDD,ex0709):bir3.now=date+%m%d4.if$bir=$now;then5.echoHappyBirthdaytoyou!6.elif$bir-gt$now;then7.year=date+%Y8.total_d=$($(date-

4、date=$year$bir+%s-date+%s)/60/60/24)9.echoYourbirthdaywillbe$total_dlater10.else11.year=$(date+%Y+1)12.total_d=$($(date-date=$year$bir+%s-date+%s)/60/60/24)13.echoYourbirthdaywillbe$total_dlater14.fi# 让使用者输入一个数字,程式可以由 1+2+3. 一直累加到使用者输入的数字为止。 view plaincopy to clipboardprint?1.#!/bin/bash 2.read-pPle

5、aseinputanintegernumber:number3.i=04.s=05.while$i!=$number6.do7.i=$($i+1)8.s=$($s+$i)9.done10.echotheresultof1+2+3+.$numberis=$s# 撰写一支程式,他的作用是: 1.) 先查看一下 /root/test/logical 这个名称是否存在; 2.) 若不存在,则建立一个档案,使用 touch 来建立,建立完成后离开; 3.) 如果存在的话,判断该名称是否为档案,若为档案则将之删除后建立一个档案,档名为 logical ,之后离开; 4.) 如果存在的话,而且该名称为目录,

6、则移除此目录! view plaincopy to clipboardprint?1.#!/bin/bash 2.if!-elogical;then3.touchlogical4.echoJustmakeafilelogical5.exit16.elif-elogical&-flogical;then7.rmlogical8.mkdirlogical9.echoremovefile=logical10.echoandmakedirectorylogical11.exit112.elif-elogical&-dlogical;then13.rm-rflogical14.echoremovedir

7、ectory=logical15.exit116.else17.echoDoesherehaveanything?18.fi# 我们知道 /etc/passwd 里面以 : 来分隔,第一栏为帐号名称。请写一苹程式,可以将 /etc/passwd 的第一栏取出,而且每一栏都以一行字串The 1 account is root 来显示,那个 1 表示行数。view plaincopy to clipboardprint?1.#!/bin/bash 2.accounts=cat/etc/passwd|cut-d:-f13.foraccountin$accounts4.do5.declare-ii=$

8、i+16.echoThe$iaccountis/$account/7.done来自: 1. 写一个脚本,利用循环计算10的阶乘 view plaincopy to clipboardprint?1.#!/bin/sh 2.3.factorial=14.5.forainseq1106.do7.factorial=expr$factorial/*$a8.done9.10.echo10!=$factorial注:上面有一行,for a in seq 1 10,其中seq 1 10 , 即列出现1到10之间所有的数字,这一行也可改为:for a in 1 2 3 4 5 6 7 8 9 10 2. 写

9、一个脚本,执行后,打印一行提示“Please input a number:,要求用户输入数值,然 后打印出该数值,然后再次要求用户输入数值。直到用户输入 end停止。 view plaincopy to clipboardprint?1.#!/bin/sh 2.3.unsetvar4.5.while$var!=end6.do7.echo-npleaseinputanumber:8.readvar9.if$var=end10.then11.break12.fi13.echovaris$var14.done 3. 写一个脚本,利用循环和continue关键字,计算100以内能被3整除的数之和 v

10、iew plaincopy to clipboardprint?1.#!/bin/sh 2.sum=03.forainseq11004.do5.ifexpr$a%3-ne06.then7.continue8.fi9.echo$a10.sum=expr$sum+$a11.done12.echosum=$sum 4一个函数,利用shift计算所有参数乘积,假设参数均为整数( 特殊变量$# 表示包含参数的个数)view plaincopy to clipboardprint?1.#!/bin/sh 2.3.result=14.while$#-gt05.do6.result=expr$result/*

11、$17.shift8.done9.echo$resul5写一个脚本,可以根据参数文件名,以正确的参数调用tar来解压缩tar.gz或tar.bz2文件。 view plaincopy to clipboardprint?1.#!/bin/sh 2.3.case$1#*.tar.in4.bz2)5.tarjxvf$16.;7.gz)8.tarzxvf$19.;10.*)11.echowrongfiletype12.esac 6写一个脚本以方便用户查询rpm的相关信息。这个脚本首先提示用户选择查询依据,比如文件名,包名,全部等。然后提示用户选择查询信息,比如包名,包里所包含的所有文件,包的信息等。

12、然后询问是否继续查询,是则循环刚才的过 程,否则退出。 view plaincopy to clipboardprint?1.#!/bin/sh 2.RPM=/bin/rpm3.option=-q4.5.whiletrue6.do7.echowhattoquery?8.selectvarinAllfilepackagename9.do10.case$varin11.All)12.option=$optiona13.break14.;15.file)16.echo-npleaseinputfilename:17.option=$optionf18.readargument19.break20.;

13、21.package/name)22.echo-npleaseinputpackagename:23.readargument24.break25.;26.*)27.echopleasechoosebetween1-328.;29.esac30.done31.32.echowhatdoyouwanttoknow?33.selectvarinlocationinfopackagename34.do35.case$varin36.location)37.option=$optionl38.break39.;40.info)41.option=$optioni42.break43.;44.package/name)45.break46.;47.*)48.echopleasechoosebetween1-349.;50.esac51.done52.53.$RPM$option$argument54.55.echocontinue?yes/no56.readanswer57.58.ifanswer=no59.then60.break61.fi62.done

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2