linux经典课间来自清华.ppt_第1页
linux经典课间来自清华.ppt_第2页
linux经典课间来自清华.ppt_第3页
linux经典课间来自清华.ppt_第4页
linux经典课间来自清华.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章Shell脚本,配置文件与source命令特殊符号:?*;$aa,ShellScripts,shell算术运算(1/2):可以使用shell结构来执行简单的整数运算。只需将特定的算术表达式用$(和)括起,bash就可以计算表达式举例:echo$(100/3)myvar=56echo$($myvar+12)echo$($myvar-$myvar)myvar=$($myvar+1)echo$myvar,ShellScripts,跟用户交互read:echoinputuname:readnameechounameis$name,ShellScripts,常用的逻辑判断:-f检测文件是否存在-d检测目录是否存在-e检测对象是否存在,对象可以是任何东西-r文件是否具备可读属性-w是否可写-x是否可执行-s文件是否非空-u文件是否具备SUID-g文件是否具备SGID-k文件是否具备stickybit属性then=相等否?echomyvarisnumber1fiif$myvar=01;then=相等否?echomyvarischar01fi,ShellScripts,字符串比较经典问题(引号重要性):var1=whoamivar2=whoif$var2=who;thenechoohofiif$var1=whoami;thenechoyeahfi应用字符串变量时最好把双引号加上,ShellScripts,条件判断:最简单的条件判断ifcondition;thenactionfi注意:在中,只能有一个判断式在与之间,可以使用thenactionelifcondition2;thenaction2elifcondition3;thenelseactionxfi,ShellScripts,问题1:如果用户输入Y或者y就打印hello,否则打印bye,这个脚本该如何写?echopressanykeytocontinuereadkeyif$key=y|$key=Y;thenechohelloelseechobyefi,ShellScripts,条件判断:分支判断:case字符串in串1)动作1;串2)动作2;*)动作3esac,ShellScripts,问题:根据用户输入字符串的长度判断,如果长度为3,就在其前面加入00,如果为4,则加入0,其他情况则加入haha_,打印最后结果,该如何写?echoinputastring:readstrcount=echo$str|wc-mcase$countin4)str=00$str;5)str=0$str;*)str=haha_$stresacechonowstris:$str,ShellScripts,循环:for语句:for(条件1;条件2;条件3)doactiondonefor变量in变量1变量2.doactiondone注意:不带in部分时参数有命令行提供,ShellScripts,简单for实例:foriinericcarolhexydoechohello$idoneforain./*doif-f$a;thenecho$afidone,ShellScripts,问题:如何读取所有命令行参数进行显示?for(i=1;i=10;i+)doecho$(expr$i*4)done,ShellScripts,循环:while语句:只要条件满足就一直执行while条件doactiondone,ShellScripts,循环:until语句:直到满足条件才退出until条件do动作done,ShellScripts,问题1:分别用while和until来实现打印1到10数字declare-ii=1while$i-le10doecho$ii=i+1doneuntil$i-gt10doecho$ii=i+1done,ShellScripts,问题2:写一个脚本,计算所有参数之和declare-ii=1declare-isum=0while$i-le20dosum=sum+aa=a+1doneechosumis$sum,ShellScripts,函数定义语法:函数名称()函数体函数调用方法:函数名称,ShellScripts,函数举例:myvar=hellomyfunc()myvar=onetwothreeforxin$myvardoecho$xdone#invokefunctionmyfuncecho$myvar$x,ShellScripts,解决函数中的名字空间问题,使用local:myvar=hellomyfunc()localmyvar=onetwothreeforxin$myvardoecho$xdone#invokefunctionmyfuncecho$myvar$x,ShellScripts,脚本调试:sh-nvscripts-n不执行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论