shell脚本基础

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、shell的作用

Linux 系统中的 Shell 是一个特殊的应用程序它介于操作系统内核与用户之间充当了一个“命令解释器”的角色负责接收用户输入的操作指令命令并进行解释将需要执行的操作传递给内核执行并输出执行结果。常见的 Shell 解释器程序有很多种使用不同的 Shell 时其内部指令、命令行提示符等方面会存在一些区别。通过/etc/shells 文件可以了解当前系统所支持的 Shell 脚本种类。

可以通过/etc/shells查看本机的shell信息

linux中常见的shell有以下这些

bash:基于gun的框架下发展的shell

csh:类似c语言的shell

tcsh:整合了csh提供了更多功能

sh:已经被bash替换

nologin:让用户无法登录

bash /bin/bash是目前大多数Linux 版本采用的默认shell。

shell脚本用途

将简单的命令组合完成复杂的工作,自动化执行命令,提高工作效率

减少手工命令的重复输入一定程度上避免人为错误

将软件或应用的安装及配置实现标准化

用于实现日常性的,重复性的运维工作,如:文件打包压缩备份,监控系统运行状态并实现告警等

二、什么是shell脚本

就是将命令按顺序一一列出最后自动执行执行需要权限也可以直接使用绝对路径脚本其实不复杂通用脚本环境改变后依然可以使用的脚本。

脚本由脚本解释器、注释信息和可执行语句组成

1.脚本申明解释器第一行开头“#/bin/bash”,表示此行以下的代码语句是通过/bin/bash程序来解释执行。#/bin/bash为默认的解释器还有其他类型的解释器。

2.注释信息以#开头的语句表示为注释信息。

3.可执行语句比如echo命令用于输出“ ”之间的字符串。

三、脚本执行逻辑及执行方式

脚本执行逻辑

1.顺序执行程序按从上到下顺序执行

2.选择执行程序执行过程中根据条件的不同进行选择不同分支继续执行

3.循环执行程序执行过程中需要重复执行多次某段语句

执行方式:

1.指定路径去执行文件需要有执行权限):

[root@localhost ~]# chmod +x /root/test.sh

2.指定解释器去执行不需要权限:

[root@localhost ~]# bash test.sh

四、脚本错误调试

在编写脚本的过程中我们或多或少的会遇到错误那么脚本的问题大概被分为三类

1.命令错误命令出错不会影响接下来的命令继续可以使用 bash -x 进行观察。

2.语法错误会导致后续的命令不继续执行可以用bash -n 检查错误提示的出错行数不一定是准确的。

3.逻辑错误逻辑错误不能使用bash -n 检查错误只能通过bash -x进行观察。

由于linux命令运行不成功时shell脚本自身并不会马上退出所以为了避免继续运行导致的问题可以在脚本中加入set -e。这样set -e后面的命令只要有异常脚本就会立马退出而不是继续执行如果想在某处开始结束这种设定只需要在该处再写入set +e即可这样这种有异常就立马退出的功能就会被关闭。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: shell