linux编程指南.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
shell编程 在shell接口执行一个复杂任务时,可将多个shell命令组合为一个shell脚本程序 脚本文件中可定义变量,使用循环、条件控制命令的执行 脚本文件中也可以构造表达式进行算术和比较运算 一个shell程序可看作一个新的复杂shell命令 Linux套件支持bash,tcsh,cshell,他们有其各自的shell程序设计语言,其语法略有差别,我们主要以bash shell为例说明 脚本文件的构建 是一个包含shell命令的文本文件,可使用任何文本编辑器进行编辑 脚本文件的执行: $ . Myshell.sh $ sh myshell.sh $ chmod u+x myshell.sh $ chmod 700 myshell.sh 脚本文件的注释 脚本文件(myshell.sh)如下: #the following is a script can initialize the interface. Cd \home\niu\project1 Echo welcome! Date 脚本文件引用其他脚本文件 脚本文件中可执行shell命令,定义shell变量,执行其他脚本文件 执行脚本文件即初始化一个新进程,如果脚本中调用另一个脚本文件,另一个进程开始运行,本脚本文件进程则等待 脚本文件的输出变量 如果需要将本脚本文件中定义的变量为调用的脚本文件使用,需要使用命令export 变量名 完成,为该进程产生的每个子进程定义一个变量拷贝 实例如下: Dispfile Myfile=“list” Export myfile Echo “display $myfile” Pr –t –n $myfile printfile Shell的算术运算和关系运算:let 该运算用于shell程序流程控制 Hello3prg Again=1 While let “again = 3” do echo $again hello let “again =again + 1” done $hello3prg 1 hello 2 hello 3 hello Shell程序的控制结构实现 控制程序的两个部分: 测试条件判断 为真执行命令/为假不执行命令 控制结构种类 条件:if,case 循环:while,for,for_in 实现比较操作的test命令 命令语法: $test value –option value $test string =string 选项决定比较的内容: 整数 字符串 逻辑 文件测试等详见p213~214 使用 vi 编辑器打开文件前做一个备份($mycp file1 file2) 具体的形式如下: #!/bin/sh if cp $1” $2 then vi $1 else echo Failed to create backup copy fi 这个脚本说明了 if-then-else 结构的语法,也显示了 cp 命令的出口状态值是如何被 if 结构用来决定下一步操作。假如 cp 的返回值是 0,脚本将调用 vi 编辑这个文件;否则,脚本将显示故障信息,然后退出。 不要忘记结束符 fi,它的作用是结束 if 结构。忘记使用 fi 是 Bash 脚本中常见的错误之一。 标准 “for” 循环简单示例: #!/usr/bin/env bash for x in one two three four do echo number $x done 输出: number one number two number three number four 在本例中,指定了四个英语单词,但是字列表也可以引用磁盘上的文件,甚至文件通配符。看看下面的例子,该例演示如何使用标准 shell 通配符: #!/usr/bin/env bash for myfile in /etc/r* do if [ -d $myfile ] then echo $myfile (dir) else echo $myfile fi done 输出: /etc/rc.d (dir) /etc/resolv.conf /etc/resolv.conf~ /etc/rpc 以上代码列出在 /etc 中每个以 r 开头的文件。要做到这点,bash 在执行循环之前首先取得通配符 /etc/r*,然后扩展它,用字符串 /etc/rc.d /etc/resolv.conf

文档评论(0)

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

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

1亿VIP精品文档

相关文档