shell脚本

发布时间:2024年01月22日

目录

一、shell脚本概述

1.1shell的作用

1.2.Shell脚本应用场景

1.3.Shell脚本概念

1.4.Shell脚本构成

1.5.脚本执行逻辑

1.6.执行方式

1.7.脚本错误调试

1.8.命令echo

二、重定向

2.1标准输入与标准输出

2.2.重定向操作

2.3.重定向输入与输出修改密码


一、shell脚本概述

1.1shell的作用

1.2.Shell脚本应用场景

1.3.Shell脚本概念

1.4.Shell脚本构成

1.5.脚本执行逻辑

1.6.执行方式


一、shell脚本概述

1.1shell的作用

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

通过/etc/shells 文件可以了解当前系统所支持的 Shell 脚本种类。

1.2.Shell脚本应用场景

重复性操作

交互性任务

批量事务处理

服务运行状态监控

定时任务执行

1.3.Shell脚本概念

将要执行的命令按顺序保存到一个文本文件

给该文件可执行权限

可结合各种Shell控制语句以完成更复杂的操作

1.4.Shell脚本构成

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

注释信息:以#开头的语句表示为注释信息

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


?

1.5.脚本执行逻辑

顺序执行:程序按从上到下顺序执行

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

循环执行:程序执行过程中需要重复执行多次某段语句(已知次数 已知条件 死循环)

1.6.执行方式

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

2.指定shell解释器去执行(不需要权限)

3.source和 .?执行 (不需要权限)

使用前两种方式执行脚本,会开启 子bash去执行脚本。

使用source和 .?执行脚本会影响当前的bash环境。

1.7.脚本错误调试

脚本错误种类

命令错误:命令出错不会影响接下来的命令继续

语法错误:会影响接下来的命令继续

逻辑错误:只能自己去筛查代码的正确

检查脚本错误

检查语法错误:bash -n 脚本名称 (不在当前目录下加绝对路径) ? ?

检查逻辑错误:bash -x 脚本名称 (不在当前目录下加绝对路径) ? ?

总结:脚本错误常见的有三种区别

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

命令错误,默认后续的命令还会继续执行,用bash -n 无法检查出来 ,可以使用 bash -x 进行观察
逻辑错误:只能使用 bash -x 进行
?

set -e 写在脚本前面,一旦报错,立刻停止

set -u?写在脚本前面,当变量不存在是,立刻停止

1.8.命令echo

选项作用
-n不追加换行
-e\b?? ?退格
\c?? ?抑制更多的输出
\n?? ?换行

\t?? ?横向制表符

\v?? ?纵向制表符

二、重定向

2.1标准输入与标准输出

交互式硬件设备:

标准输入:从该设备接收用户输入的数据

标准输出:通过该设备向用户输出数据

标准错误:通过该设备报告执行出错信息

类型设备文件文件描述编号默认设备
标准输入/dev/stdin0键盘
标准输出/dev/stdout1显示器
标准错误输出/dev/stderr2显示器

2.2.重定向操作

类型操作符用途
重定向输入<从指定的文件读取数据,而不是从键盘输入
重定向输出>将输出结果保存到指定的文件(覆盖原有内容)
重定向输出>>将输出结果换行添加在文件尾部
重定向错误输出2>将错误信息保存到指定的文件(覆盖原有内容)
重定向错误输出2>>将错误信息追加到指定的文件中
混合输出&>将标准输出、标准错误的内容保存到同一个文件中

2.3.重定向输入与输出修改密码

文章来源:https://blog.csdn.net/wys_jj/article/details/135748970
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。