shell脚本基础

Shell是Linux系统的命令解释器,如bash,它接收用户指令并执行。文章介绍了Shell脚本的创建和执行,包括顺序、选择和循环执行逻辑。此外,还讨论了脚本错误的调试方法,如使用bash-x和bash-n检查命令和语法错误,并通过set-e处理逻辑错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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即可,这样这种有异常就立马退出的功能就会被关闭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值