第4章 shell编程初步.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 4.7.1什么是here文件 here文件是一种为shell命令提供数据的机制,用户利用here文件可以把shell命令和命令所需要的输入数据同时放在一个文件内。 shell I/O重定向 形式 含义 文件 将标准输出定向到文件 文件 将标准输出附加到文件 文件 从文件file中取得标准输入 n文件 将输出从文件描述符n定向到文件 n文件 将输出从文件描述符n附加到文件 nm 将文件描述符n和m的输出合并 nm 将文件描述符n和m的输入合并 s here文件,下一行开始作为标准输入,直到首次出现s字符串为止; 4.7.2here文件使用方法 表示方法: 命令s … … here文件内容 … … S 说明: 表明命令的输入就是该文件的一部分。 后面的紧接着的字符串S,为here文件开始符。 最后一行的字符串S,为here文件结束符,必须与开始符相同 。 Here文件举例 查电话号码本程序:114 $ cat 114 grep “$*” End dial-a-joke 212-976-3838 dial-a-prayer 212-246-4200 dial santa 212-976-3636 dow jones report 212-976-4141 End $ Here文件开始符 Here文件结束符 Here文件内容 shell实际上也是一种编程语言,它有变量、循环、条件转移等。 for语句: for 变量 in 文件列表 do 命令 done 4.8 for循环语句 可以用一个for语句,在一行输出一个文件名。 $ for i in * do echo $i done … … $ 可以是任意shell变量,但习惯上用i表示。 举例 $ ls ch2.* | 5 ch2.1 ch2.2 ch2.3 ch2.4 ch2.5 ch2.6 ch2.7 old $ cat cmp_ch2 for i in ch2.* do echo $i: diff –b old/$i $i echo done | pr -h “diff `pwd`/old `pwd`” | lpr $ 第9个shell文件: 对一组文件的新旧版本进行比较。 程序: bundle 功能: 将一个目录下的所有shell文件合并,打包成一个shell文件,然后发给另一个用户。该用户收到后,执行打包后的shell文件,则可执行解包操作,把打包文件中的所有原来的shell文件恢复到当前目录中。 4.9 bundle:合并文件程序 $ cat bundle # bundle: group files into distribution package echo ‘# To unbundle, sh this file’ for i do echo “echo $i” echo “cat $i ’End of $i’” cat $i echo “End of $i” done $ 第10个shell文件: bundle 合并文件程序 步骤1. 打包过程: $ cx bundle $ cp bundle $HOME/bin $ $ bundle cx lc junk 打包cx, lc两个文件 $ 如何使用bundle程序? 打包后, 查看文件junk的内容: $ cat junk # To unbundle, sh this file echo cx cat cx ’End of cx’ chmod +x $* 文件cx的内容 End of cx echo lc cat 1c ’End of lc’ # lc: count number of lines in files 文件lc的内容 wc -1 $* End of lc $ 如何使用bundle程序? 步骤2:解包过程 $ cx junk $ mkdir test 创建一个临时目录test $ cp junk test $ cd test $ junk 执行打包文件junk, 将文件cx, lc解开 $ ls cx lc $ 如何使用bundle程序? 检查文件的内容: $ cat cx 检查文件c

文档评论(0)

xieliandimei + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档