Shell_应用.pptVIP

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Shell_应用

Shell 应用 四川大学计算机学院 左劼 Shell编程基础 shell程序是一个包含UNIX命令的普通文件,这个文件的权限应该可读和可执行 在shell提示符下键入文件名就可以执行shell程序 shell会解释并执行shell程序中的命令 注意,和普通可执行程序一样,执行shell程序的时候要么指定完全路径名,或者将其放在PATH环境变量指定的路径列表中 shell程序的构成 和普通的程序设计语言一样,包含三种控制结构 顺序结构 判断结构 循环结构 shell程序的结构 第一行应该包含 #!/bin/sh 表示该文件是一个shell程序,需要被shell解释执行 程序的语句是命令,或者控制语句 以“#”开头的部分直到行末尾是注释,可以出现在程序的任何位置 一个例子 #!/bin/sh date ls -F 创建shell程序的过程 利用编辑器(例如vi mcedit等)编辑shell程序文件 将文件添加可执行属性 chmod a+x xxx.sh 执行shell程序 ./xxx.sh 传递参数给shell程序 传递参数给shell程序的方法之一是通过环境变量 注意shell变量和环境变量的区别 参数传递方式: export var1=abcdefg 调用shell程序 一个例子 xxx.sh #!/bin/sh echo “you are running in xxx.sh” echo “value of color is $color” # export color=black # ./xxx.sh you are running in xxx.sh value of color is black shell程序的参数 传递参数给shell程序的另外一种方法是通过命令行参数 在shell程序中,可以使用$加数字的变量来引用命令行参数 $0 表示命令本身 $1 表示第1个参数 $(12) 表示第12个参数 由于使用命令行参数的位置来引用,所以命令行参数也称为位置参数 一个例子 #!/bin/sh echo “$0 will install $1 to bin” chmod a+x $1 mv $1 $HOME/bin echo “Install $1 OK!” 和命令行相关的特殊变量 在shell程序中,$# 表示命令行参数的数量 而 $* 则表示所有的命令行参数 例子 #!/bin/sh echo “There are $# arguments” echo “Thay are $*” echo “The first argument is $1” 通过使用$#和$*可以方便地判断参数的构成,以便进行进一步的处理 $*和$1形式的参数引用是相互独立的,可以同时使用两者 $0这个参数不出现在$*中 进一步的例子 #!/bin/sh echo “$0 will install $# files to bin directory” chmod a+x $* mv $* $HOME/bin echo “Install OK!” 应该注意的问题 如果要传递$*给命令,命令必须要能接受多个参数 如果一下语句出现在shell程序中,则可能出现错误 cd $* shift命令 语法: shift [n] 功能: 将$*中的参数序列向左移动n个位置,并且将$#的值减少n 作用: 利用同样的程序代码处理多个参数 一个例子 #!/bin/sh orig_args=$* echo “There are $# arguments” echo “Thay are $*” shift 2 echo “There are $# arguments” echo “Thay are $*” 注意 shift命令是shell内部命令 shift命令不会影响$0 shift命令一旦完成,被移出的参数就会丢失,如果需要,应该在shift之前保存这些参数 $1等位置变量也同时会受到影响 read命令 语法: read 变量1 变量2 ... 功能: 从标准输入读入值,并赋给指定变量。 输入的值之间用空白字符分隔开,分别赋给对应的变量,如果变量属多于值的数量,多余的变量设置为空,如果值得数量多于变量,多余的值将一并赋给最后一个变量 例子 # read var1 var2 abc def ghi jkl # echo $var1 abc # echo $var2 def ghi jkl 注意 read是一个交互命令,只有当shell执行read的时候才会等待用户从标准输入键入数据 read命令不会给出任何提示,所以一般说来,应该先用echo命令提示用户应该输入数据了 read命令一次读入整行,

文档评论(0)

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

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

1亿VIP精品文档

相关文档