Linux程序开发环境:Shell程序设计_第1页
Linux程序开发环境:Shell程序设计_第2页
Linux程序开发环境:Shell程序设计_第3页
Linux程序开发环境:Shell程序设计_第4页
Linux程序开发环境:Shell程序设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

Linux程序设计环境CH04Shell程序设计I什么是Shell脚本Shell脚本——基本概念Shell脚本——执行Shell脚本——命令分类Shell脚本相关命令通过type命令可以查看命令的类型。Shell脚本相关命令bashshell的变量功能变量是bashshell中重要的概念和功能,类似于C/Java语言中的变量。需要掌握的变量相关操作命令:

变量的显示与设置:echo、unset

环境变量的相关操作:env、export

变量的输入:read

数组与声明:declare/typeset、Shell变量1.变量的显示与设置使用echo命令显示变量的值具体语法为:设置变量的语法是:Shell变量1.变量的显示与设置取消变量的语法是:Shell变量2.环境变量功能环境变量能完成很多功能,包括主文件夹的变换、提示符的显示的路径等使用env命令查看环境变量:Shell变量2.环境变量功能使用set命令查看所有变量:包括环境变量和自定义变量Shell变量2.环境变量功能环境变量和自定义变量的主要区别是作用域的不同。环境变量在整个bash运行过程中均有效,而自定义变量只在当前进程中有效。使用export命令可将自定义变量转化为环境变量。语法为:Shell变量3.从键盘读取变量值使用read命令从键盘读取变量值,和用户交互,在shellscript经常使用。read语法为:Shell变量4.声明变量类型使用declare或typeset能声明变量的类型具体语法为:数据流重定向一个命令的执行过程如下图所示上图中包含3种数据流:标准输入(stdin):代码为0,符号为<或<<;标准输出(stdout):代码为1,符号为>或>>;标准错误输出(stderr):代码为2,符号为2>或2>>。将数据从指定的流输入或输出,就称为数据重定向。使用数据流重定向标准输出流stdout默认情况下将数据输出到device使用>将数据输出重定向到文件>默认为覆盖文件内容,如果要追加则用>>使用数据流重定向2>:以覆盖的方式将错误信息输出到指定文件或设备上2>>:以追加的方式将错误信息输出到指定文件或设备上/dev/null:将错误信息忽略,及输出到黑洞使用数据流重定向<:标准输入流默认从键盘输入<<:用于设定结束输入的关键字管道命令管道命令的执行原理如下图所示管道命令的界定符号为”|”管道命令仅会处理stdout,对stderr会忽略管道命令必须要能够接收来自前一个命令的数据作为stdin使用管道命令选取命令cut、grepcut命令的主要用途是将同一行的数据进行分解,其基本语法为:使用管道命令cut命令是从一行中取出部分信息,而grep命令则是按条件取出某行,其基本语法为:使用管道命令排序命令:sort、wc、uniqsort命令用于对输入内容进行排序,其基本语法为:使用管道命令排序命令:sort、wc、uniquniq命令用于去除结果中的重复行,其基本语法为:使用管道命令排序命令:sort、wc、uniqwc命令用于统计字、字符、行,其基本语法为:双向重定向双向重定向命令(tee)能将数据流同时输出到文件与屏幕其基本语法为:正则表达式的使用 正则表达式(RegularExpression)是通过一些特殊字符的排列,用以查找、替换、删除一行或多行字符串的一种表达式。 正则表达式并不是一个工具或程序,而是一种字符串处理的依据,Linux下的很多文本编辑工具都支持这一标准,比如vi。 正则表达式的字符串根据表示方式的严谨度可以分为基础正则表达式与扩展正则表达式。

使用正则表达式时还需注意语言环境的设置,因为不同的语言环境对字符排序不一样,Linux下一般设置为C,及LANG=C。正则表达式的基本语法正则表达式使用范例有如下图所示的一篇文章,保存在home目录下的regular_express.txt文件中正则表达式使用范例范例1:查找特定字符串正则表达式使用范例范例2:利用[]查找字符集正则表达式使用范例范例3:行首字符^正则表达式使用范例范例4:行尾字符

温馨提示

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

评论

0/150

提交评论