shell脚本——shell脚本的规范和变量概述

一、shell脚本概述

1.1 shell概述

Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
Shell脚本概述

1.1.1 Shell脚本的概念

●将要执行的命令按顺序保存到-一个文本文件
●给该文件可执行权限
●可结合各种ShelI控制语句以完成更复杂的操作

1.1.2 Shell脚本应用场景

●重复性操作
●交互性任务
●批量事务处理
●服务运行状态监控
●定时任务执行

1.2 shell的作用

1、命令解释器,翻译官。
shell脚本是将要执行的命令按照顺序保存发哦一个文本文件,并给该文件可执行权限,方便一次性执行的程序文件。主要是方便管理员进行设置或管理,可结合各种shell控制语句以完成更复杂的操作。常用于重复性操作、批量事务处理、自动化运维、服务运行状态监控、定时任务执行。
2、用户的登录shell
登录后默认使用shell程序,一般为/bin/bash
不同shell内部指令、运行环境等会有所区别在这里插入图片描述

1.3 shell编程规范

1.3.1 编写脚本代码

使用vim文本编辑器
每行一条linux命令,按执行顺序依次编写
在这里插入图片描述在这里插入图片描述

1.3.2 赋予可执行权限

使脚本具有可执行属性
在这里插入图片描述

1.3.3 执行脚本文件

方法一:脚本文件路径(绝对路径与相对路径)在这里插入图片描述
方法二:sh 脚本文件路径
在这里插入图片描述
方法三:source 脚本文件路径在这里插入图片描述在这里插入图片描述
注意:
sh不需要可执行权限就可以执行,./必须要有执行权限,sh 执行环境没变,source执行环境变了。. shell脚本等同于source shell脚本。

1.3.4 更完善的脚本构成

脚本声明
注释信息
可执行语句在这里插入图片描述
在这里插入图片描述在这里插入图片描述

1.4 重定向与管道

1.4.1 交互式硬件设备

标准输入:从该设备接收用户输入的数据
标准输出:通过该设备向用户输出数据
标准错误:通过该设备报告执行出错信息

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

1.4.2 重定向操作

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

在这里插入图片描述

1.4.3 管道操作符号“|”

将左侧的命令输出结果,作为右侧命令的处理对象。

cmd1 | cmd2 [... | cmdn]

在这里插入图片描述在这里插入图片描述

二、shell脚本变量

2.1 变量的作用

用来存放系统和用户需要使用的特定参数
变量名:使用固定的名称,由系统预设或用户定义
变量值:能够根据用户设置、系统环境的变化而变化

2.2 变量的类型

  • 自定义变量:由用户自己定义、修改和使用
  • 特殊变量:环境变量,只读变量,未知变量,预定义变量
    变量值放在内存中

2.2.1 自定义变量

1.定义一个变量
变量名以字母或下划线开头,区分大小写,建议全大写

变量名=变量值

2.查看变量的值

echo $变量名

在这里插入图片描述
3.赋值时使用引号
双引号:允许通过 符 号 引 用 其 他 变 量 值 单 引 号 : 禁 止 引 用 其 他 变 量 值 , 符号引用其他变量值 单引号:禁止引用其他变量值, 视为普通字符
反撇号:命令替换,提取命令执行后的输出结果
在这里插入图片描述在这里插入图片描述在这里插入图片描述
从键盘输入内容为变量赋值

read [-p "提示信息"] 变量名

在这里插入图片描述在这里插入图片描述在这里插入图片描述
4.设置变量的作用范围
格式1:export 变量名…
格式2:export 变量名=变量值 …
在这里插入图片描述
在这里插入图片描述
5.整数变量的运算
expr 变量1 运算符 变量2 [运算符 变量3] …
6.常用运算符
加法运算:+
剪发运算:-
乘法运算:*
除法运算:/
求模(取余)运算:%
乘法运算中的\是转义,因为*在linux中有其他意思

三、特殊的shell变量

3.1 环境变量

由系统提前创建,用来设置用户的工作环境
配置文件:/etc/profile 、~/.bash_profile
常见的环境变量
PWD、PATH、USER、SHELL、HOME在这里插入图片描述

3.2 只读变量

用于变量值不允许被修改的情况
在这里插入图片描述

3.3 位置变量

表示为$n,n为1~9之间的数字在这里插入图片描述在这里插入图片描述在这里插入图片描述

3.4 预定义变量

$#:命令行中位置变量的个数
$*:所有位置变量的内容
$?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错
$0:当前执行的进程/程序名
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值