- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
shell程2
Shell 编程基础(补充) 如何建立和执行Shell 脚本 理解Shell 变量特性 掌握Shell 变量赋值方式 介绍shell 编程中常用的命令和控制命令 6.4.1 Shell 脚本 Shell 程序是包含一个或多个Shell 命令的集合。 Shell 程序通常放在文件中,称为Shell 脚本。 建立Shell 脚本文件同建立普通文件的方式一样,可以用vi 来建立。 Shell 程序由Shell 解释执行,方式简单。 优点: 确定步骤一次完成目标 不用重复键入一系列命令 简化自己和其他用户的操作 6.4.1 Shell 脚本(续) 三种 Shell 文件执行方式: (1) chmod命令(把文件的权限改成可读、可执行) $ chmod +x 脚本文件名 (或chmod 755 脚本文件名) $ 脚本文件名及其参数 (2) 直接使用Shell命令来执行 $ sh 脚本文件名及其参数 (3) 使用bash内部命令“source”或“.” $ source 脚本文件名及其参数 $ . 脚本文件名及其参数 6.4.1 Shell 脚本(例) $ cat hello #Filename:hello (#后的字符串为注解) echo?Hello?world! ? 第一种:?将hello这个文件的权限设定为可执行。? $ ?chmod? 755 ?hello 或 chmod u+x hello? $?./hello? hello?world?! 6.4.1 Shell 脚本(例) 第二种:直接使用sh命令来执行。? $ sh?hello 或 $ bash?hello ? hello?world! hello?world!? 第三种:使用bash内部命令“source”或“.” ? $?source?hello? 或 $?.? hello hello?world? hello?world 6.4.2 Shell 变量? 用户自定义变量 位置变量 环境变量 预定义的特殊变量 用户自定义变量 在Shell脚本程序内部定义的Shell变量(临时变量),随着脚本程序的执行完毕而自动消失。 临时变量包括用户定义的变量和位置参数。 Shell变量没有数据类型限制,也不需要在赋值前定义。 用户自定义变量(续) 用户自定义变量: 变量命名 以字母或下划线开头,包括字母、数字、和下划线。 变量赋值变量名=变量值 (等号前后不可有空格)例:a=“beijing”(可以使用read 命令来从标准输入读取数据,并赋值给变量,还可由命令替换的输出来赋值。) 变量引用在变量名之前加 $ ,表示变量的值.例: echo $a (显示变量a的值) 位置变量 出现在命令行上的位置确定的参数称为位置参数。 $ 命令 参数1 参数2 参数3 … 当Shell解释一个命令时,它将变量与命令行中的每一项关联,关联的变量称为位置变量,它们是: 0,1,2,…9。这10个位置变量对应命令行上各项的位置,命令名(或Shell脚本名)是0,命令的第一个参数是1,依次类推。 当命令行上的参数多于9个时,需要用shift命令移动位置变量,每执行一次shift命令,变量0不变,从1开始位置变量左移一位,即把2,3,4 … 9 的值分别赋值给1,2,3 … 9。 预定义的特殊变量 这类变量具有特殊的含义,它们的值由Shell 根据实际情况来设置, 用户不能重新设置。 $# 实际位置参数个数(不包括Shell脚本名), 通常在 程序中用来检查执行时带入的参数个数是否正确 $* 命令行中的所有位置参数的字符串 $@ 与$* 相似,但值不同. 例如:对于位置参数F1 F2 F3 “$*”表示“F1 F2 F3”而“$@”表示“F1” “F2” “F3” $? 表示最后一条命令执行后的退出状态(返回值), 为十进制数。一般命令的执行成功返回值为0。 例1 $ cat sh_prg echo $# echo $* echo $1 $2 $3 shift 2 echo $# echo $* echo $1 $2 $3 $ sh_prg A B C D 4 A B C D A B C 2 C D C D (这时的$3为空值) 例子
文档评论(0)