- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
shell 及 shell编程 概述 1 shell基本概念 1.1 UNIX系统的标准流 1.1.1 命令处理流 1.1.2 信息流 shell基本功能 2.1 SHELL命令解释过程 2.2 shell输入输出重定向 2.2 shell输入输出重定向 2.3 错误流重定向 2.4 管道线处理 2.4 管道线处理 2.4 管道线处理 习题 习题 1 习题 2 2.5 Shell程序设计 2.5.1 Shell程序的执行方式 2.5.2 变量定义 变量取值 预定义变量或用户环境变量 用户工作环境设置 .bash_profile文件 一个SHELL环境实例 Shell中命令的位置变量 Shell中的变量替换 2.5.3 test命令的使用 2.5.3 test命令的使用 2.5.3 test命令的使用 2.5.3 test命令的使用 2.5.4 条件控制语句 2.5.4 条件控制语句 2.5.4 条件控制语句 2.5.5 循环语句 2.5.5 循环语句 2.5.5 循环语句 2.5.6 Shell程序调试 2.5.6 Shell程序调试 2)对字符串内容的测试 语法: test s (字符串s为有值时返回真,为空则返回假) test -zs 与test s 相反,为空时返回真,不空则返回假 test s1 = s2 当字符串s1和s2相等时返回真,不相当则返回假 test s1 != s2 与test s1=s2相反。 例 x1=“005” x2 =5 ,进行字符串测试 #test “$x1” = “$x2” #echo $? 系统将显示0, 结果为假值,表示x1和x2不相等 3)对于整数n的的测试 格式 test n1 [-eq/ne/it/ie/gt/ge] n2 它们分别表示n1和n2之间 相等 /不相等 /n1n2 /n1=n2 /n1n2 /n1=n2 时返回真值。 例 x1=“005” x2 =5 ,进行数字式测试 #test “$x1” -eq “$x2” #echo $? 系统将显示1, 结果为真值,表示数字x1和数字x2相等 在结构化的程序设计中,三种基本的语句结构是顺序结构,分支结构,循环结构。其中的分支结构,在shell中常用if和case语句来实现。 1)if语句 if语句的分支可以有 无分支条件语句,二分支条件语句,多分支条件语句。 无分支条件语句格式如下: if [condition] then 命令1 命令2 … 命令n fi 当条件condition为真时,执行then后面的所有命令,condition为假则执行fi后面的语句。 二分支条件语句: 格式为 if then else 结构 if [condition] then 命令1 命令2 else. 命令n fi 多分支结构:分支大于2的条件语句。 ?if [condition1] then elif [contition2] then elif [condition3] then … else command_n fi 2)case语句 可以实现多选一的控制结构 case语句的语法为: ? case word in 模式1 ) 命令 ;; 模式2 ) 命令 ;; 模式3 ) 命令 ;; esac 注意,在case中,每个命名命令的结束用;;表示模式匹配已经完成,不再匹配其他的模式,相当于C中的break。 shell中的循环有for和while两种循环方式。 1)for的语法格式为: for var in list-of-vars do command1 command2 … commandn done for的语法说明为:shell程序扫描变量列表list-of-vars,将其中的每一个字依次存放在var中,并执行do和done之间的语句。如果list-of-vars中有n个字,则这个for循环将执行n次。 2)while循环 while - do - done结构 while循环中,只要循环条件为真就一直循环下去。 格式: while [condition] do command1 command2 ….. done 3)unti
文档评论(0)