linux shell 编程-2011课件.ppt

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux shell 编程-2011课件

判断 条件判断语句是几乎所有编程语言中都有的语句,shell中有两种条件判断语句: if表达式 case表达式 if表达式 一般结构 if conmmand1 then elif command2 then else Fi command1需要执行并检测其退出状态,如果退出状态为0,则执行其后then与elif之间的语句,同理执行并检测command2的退出状态,并根据退出状态是否为0选择执行elif与else之间或else与fi之间的语句 test命令 shell有一条内部命令test,经常用来在if命令中测试一种或几种条件,其一般格式为: test expression 其中expression表示要测试的条件。test计算expression,若结果为真,其返回的退出状态为0,若结果为假,返回的退出状态就不为零 . 退出状态与 $? 变量 每当程序执行完成后都会给系统返回一个退出状态。该状态是个数值,通常指示该命令运行是否成功。退出状态为0表示运行成功,非零表示运行失败。 Shell自动将最后所执行命令的退出状态设置到shell变量 $? 中,可以用echo命令在终端上显示它的值 . test命令(二) test命令的另一种格式 shell程序使用test命令非常频繁,因此产生了另一种公认的命令格式: [ expression ] “[”实际上就是命令的名字,同时要求在表达式的有一个配对的“]”,在 “[“之后和”]”之前都要有空格 test命令(三) 整数操作符 test命令还有一类进行整数比较的操作符,见右表: 例如:操作符“-eq”检测两个整数是否相等,如果有一个变量名为count,想看看它的值是否为0,则可以写成: [ “$count” –eq 0] test命令(四) 文件操作符 test提供了一类问询文件 状态的一元操作符,见右表: 例如: [ -f /etc/fstab ] 检测fstab文件是否存在且 是否为普通文件 shell入门的拦路虎:syntax error: unexpected end of file 开始学习bash,每次测试代码都在windows下写好,然后传到linux上执行。 在学习到if 等流程控制的语法的时候,我遇见了第一个难题写的 if 的测试总是不正确:“ if.sh:?line?11:?syntax?error:?unexpected?end?of?file ”。 ---------------------------------------------------------------------------- 这个问题解决方案如下:学shell还是用vi或vim吧! ---------------------------------------------------------------------------- shell入门的拦路虎:syntax error: unexpected end of file dos文件转换成 unix 文件格式 ???? dos 格式 文件 传输到 unix 系统时 , 会在每行的结尾多一个 ^M , 当然也有可能看不到 , 但是在 vi 的时候 , 会在下面显示此文件的格式 , 比如 ? dos.txt?[dos]?120L,?2532C 字样 , 表示是一个 [dos] 格式文件 , 如果是 MAC 系统的 , 会显示 [MAC] , 因为文件格式的原因有时会导致我们的 unix 程序 , 或者 shell 程序出现错误 , 那么需要把这些 dos 文件格式转换成 unix 格式 , 方法是 ?????vi???dos.txt????????? ?????:set?fileformat=unix ?????:w?????????????????? ???? 这样文件就转换成 unix 格式 文件了 ,一般在 windows 机器上编写好了文件传到 unix 下就可能会出现这样的情况 , 而一般我们使用 ftp 命令, 常常会加上 bin 参数表示二进制传输, 可是试一下不加 bin 参数 , 可能传到 unix 下就是 unix 格式 Linux Shell /dev

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档