20、1 shell脚本介绍、结构和执行

shell脚本介绍:
shell是一种脚本语言 和传统的开发语言比较,会比较简单
shell有自己的语法;可以使用逻辑判断、循环等语法
可以自定义函数,目的就是为了减少重复的代码
shell是系统命令的集合
shell脚本可以实现自动化运维,能大大增加我们的运维效率

shell脚本结构:
开头需要加#!/bin/bash
以#开头的行作为解释说明
脚本的名字以.sh结尾,用于区分这是一个shell脚本
执行方法有两种
chmod +x 1.sh; ./1.sh
bash 1.sh
查看脚本执行过程 bash -x 1.sh
查看脚本是否语法错误 bash -n 1.sh

shell脚本结构和执行
创建一个shell文件夹,并切入到文件夹中
mkdir shell
cd shell/
写shell脚本
#! /bin/bash //第一行必须这么写,固定格式,作用就是脚本若是在当台机器上去执行,可以不加这一行也没关系,因为它知道下面若干条的命令能在这台机器上去执行,去解析

vi 01.sh 

#! /bin/bash       //固定格式
echo "123"
w
ls
保存退出

执行脚本——>sh 01.sh
sh 01.sh
2f448cb8925f2b269fb255ce9373fd3a3b1.jpg

在当前终端里,把01.sh中的#! /bin/bash 去掉后在执行脚本,会看到得到的结果相同,不会出现任何的问题,这就说明这台机器是能识别里面一条一条的命令的,去运行这里面的命令;但若是换一台机器,就不一定能执行了。
在第一行,文件头指定 #!/bin/bash ,接下来要运行的命令是通过哪一个解释器来操作的,通常都是 /bin/bash 解释器来执行的
给01.sh文件一个执行权限
chmod a+x 01.sh

执行shell脚本 ./01.sh 能这样执行,说明这些命令被解析了,被/bin/bash认识了

./01.sh

6c2db84a61dc3481b977512c70a5f4562e1.jpg

/bin/bash也是一条命令, /bin/bash 和 /bin/sh 是同一个文件
ls -l /bin/bash
ls -l /bin/sh

95ab8e9e2773930bf77cc730e4a03b102f2.jpg

01.sh文件内容就是被/bin/bash所解析的
若没有 /bin/bash ,可以使用 /bin/bash 01.sh去执行
/bin/bash 01.sh

1b05c1eee9cfb061285dc3b3cf0639cdca8.jpg

若是在shell脚本中在写入第二遍 #号开头的行, 就表示解释说明的作用
脚本的一般都是以.sh结尾,是为了区分这是一个shell脚本,否则需要打开这个文件,才知道是shell脚本

运行shell脚本有两种方法
一种是sh 01.sh运行shell脚本
另一种方法先 chmod a+x 1.sh 给文件加一个执行权限
再 ./1.sh 去执行
这里的 ./ 就相当于一个相对路径,相对当前一个路径
也可以使用绝对路径去执行脚本 /root/shell/01.sh ,其实就是找到这个文件去执行
/root/shell/01.sh

4ebf200f0bab0382f87d356d40df41441b3.jpg
查看脚本执行过程 sh -x 01.sh 或者bash -x 01.sh
-x,就是显示脚本执行的过程
每一个加号,表示一个操作步骤
sh -x 01.sh

75ef2213576cec91530577c77444e4eda89.jpg

查看脚本是否有错误 sh -n 01.sh
若是没有任何的输出,那么脚本则没有错误
sh -n 01.sh命令是检测是否存在语法错误
sh -n 01.sh

36f1f775b43e71a036704888a10f2f889e8.jpg

  

转载于:https://my.oschina.net/u/3867322/blog/2050584

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值