shell脚本基础

发布时间:2024年01月22日

一? Shell作用

Linux 系统中的 Shell 是一个特殊的应用程序,它介于操作系统内核与用户之间,充当 了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执 行的操作传递给内核执行,并输出执行结果

cat? /etc/shells? ?可以查看当前系统支持的shell

1 什么是Shell脚本

Shell脚本就是将命令按顺序一一列出的程序,最后自动执行。shell脚本将简单的命令组合完成负责的工作,自动化执行命令,提高工作效率,可以用于日常性重复性的运维工作

2 shell脚本应用场景

定时任务执行

批量事务处理

交互性任务

重复性操作

3 处理逻辑:

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

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

循环执行:程序在执行过程中需要重复执行多次某些语句(根据已知次数、已知条件)

4 执行方式


调用系统shell执行不需要给脚本加可执行(x)权限,不改变当前环境。

执行格式shell +脚本名称
例如:bash ?a.sh
?
使用路径执行脚本,需要给脚本加可执行(x)权限,不改变当前环境?
添加脚本权限 ?chmod +x a.sh?
绝对路径执行 ?/mnt/a.sh
相对路径执行,进入对应目录直接执行 ?./a.sh
?
通过 . 或者source 来执行脚本,需要给脚本加可执行(x)权限,这俩种方式会改变当前环境不建议使用
添加脚本权限 chmod +x a.sh
使用.执行脚本. ?a.sh?
使用source执行脚本 ?source ?a.sh
?
bash -n 脚本名称 (绝对路径) ? ? 检查语法错误
bash -x 脚本名称 (绝对路径) ? ? 检查逻辑错误
?

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

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

5 shell基本格式


#!/bin/bash ? ? ? #脚本声明即解释器,表示此行以下的代码通过/bin/bash程序翻译执行
?
#this is my frist ?shell ? ? ? #注释信息,描述此脚本做什么工作或每条语句的含义
?
echo " hello world! " ? #可执行语句,脚本具体的内容

6 脚本错误调试

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

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

③逻辑错误,只能自己去筛查

二?重定向

不输出到默认设备上,输出到你指定的位置

交互式硬件设备

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

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

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

?三?多行重定向

使用 I/O 重定向的方式将命令列表提供给交互式程序或命令,比如 ftp、cat 或 read 命令。
HereDocument是标准输入的一种替代品,
可以帮助脚本开发人员不必使用临时文件来构建输入信息,
而是直接就地生产出一个文件并用作命令的标准输入。

四? 管道符

将左侧的命令输出结果,作为右侧命令的输入(处理对象)可以 叠加使用

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