- 1、本文档共80页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;
shell脚本能提高用户操作和管理员进行系统管理的效率,一般步骤
编辑器编写脚本程序
shell做解释程序,非交互地执行脚本,两种执行方式:
用sh命令执行脚本文件
给脚本文件添加执行权限,用./命令执行;HELLO WORLD!;一、VI编辑器;;为什么选择VI;1、VI的三种工作模式;2、VI的启动;3、VI的退出;4、怎么编辑;5、命令模式下的操作:删除与修改;命令模式下的操作:文本复制、粘贴;6、行命令模式下的操作:字符串的查找、替换;7、设置vi;;案例练习;;二、SHELL变量与语法;1、shell的基本元素
(1) #!/bin/bash 必须的,指出shell的类型
(2)# 注释
(3)变量
(4)控制;2、一般步骤:
(1)编辑文件
(2)保存文件
(3)将文件赋予可执行的权限
(4)运行及排错;注意:
一般以.sh为文件后缀。没有也能执行。
常见的两种执行方式
./文件名 在当前目录下写明路径执行,要求文件必须有执行权限,如
chmod 755 run.sh
./run.sh
sh 文件名
sh run.sh
文件开头指定一个或多个解释脚本程序的shell,如 #!/bin/bash
如果指定,注意/bin不要漏了“/”,否则用./方式执行会找不到路径。
不指定的话一般默认以/bin/sh执行shell脚本;;1、注释符#
除了#!/bin/bash里的#特殊
2、美元符 $
变量符。与反斜杠转义符相反,使其后的普通字符作为变量名,如$a表示变量a的值。变量字符长度超过1个时,用{}括起来
3、单引号
被引起的字符全部做普通字符,即全部原样
echo ‘my $SHELL’
;;练习一下:区别下面几句;;三、变量;本地变量和环境变量的对比;;;;;;;;HOME : 代表使用者的家目录。cd ~ 去到使用者的家目录 或者利用 cd 就可以直接回到使用者家目录了。
PS1:shell的主提示符
SHELL : 目前这个环境使用的 SHELL 是哪个程序? 如果是 bash 的话,预设是 /bin/bash
PWD:用户当前工作目录的路径。它指出用户目前在Linux文件系统中处在什么位置。它是由Linux自动设置的
HISTSIZE : 这个与“历史命令”有关,曾经下达过的指令可以被系统记录下来,而记录的“数目”则是由这个值来设定的。
ENV : 这个使用者所使用的个性化环境设置文件的读取文件。
MAIL : 当我们使用 mail 这个指令在收信时,系统会去读取的邮件信箱文件 (mailbox)。
PATH : 就是执行文件搜寻的路径,目录与目录中间以冒号(:)分隔, 由于文件的搜寻是依序由 PATH 的变量内的目录来查询,所以,目录的顺序也是重要的喔。
LANG : 语系文件,很多数据都会用到他,当出现编码错误的时候往往需要设置它,中文编码是zh_CN.UTF8;PATH示例;;;;设置用户自己的环境变量;;;使用shell预定义变量的脚本举例;;;
;;;;3、控制流程;;1)分支结构;2)循环结构;;;;五 命令结果重定向;屏蔽命令任何输出的:/dev/null 21;;* 有趣的IO Redirection;六 脚本实例; #! /bin/sh - fname=/bin/date if (test –f “$fname”) then echo “exist” fi
说明: 在shell程序中经常需要判断所处理的文件是否存在。本程序采用if语句的简单格式测试date文件,如果存在,则显示相关信息,否则退出if语句。; #! /bin/sh - hour=`date|cut –c 10-11` if test “$hour” –ge 0 –a “$hour” –le 11; then echo “Good morning!” elif test “$hour” –ge 12 –a “$hour” –le 17; then echo “Good afternoon!” else echo “Good evening!” fi
说明:第一个有效语句是将命令执行的结果赋给hour变量,所以用反向单引号。用cut命令从date命令的输出中切割出“小时”信息;这里-c 10-11选项表示只切割10到11列。这个程序使用了if连用格式,也可以使用if完整格式的嵌套形式。;#! /bin/sh -if test $# -ne 1 thenecho Incorrect number of arguments echo Usage: ifuser usernameelse user=$1 if who | gre
文档评论(0)