Shell编程过程中的使用规范与变量

一、shell脚本概述
shell脚本的概念:

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

给该文件可执行权限

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

shell脚本应用场景

重复性操作

交互性任务

批量事务处理

脚本运行状态监测

定时任务执行

简单来说,将平时使用的各种linux命令按顺序保存到一个文本文件,添加可执行权限,从而完成更复杂的操作,

就是shell脚本。

shell的作用:命令解释器,“翻译官”

介于系统内核与用户之间,负责解释命令行

用户的登录shell

默认使用的shell程序,一般为/bin/bash

二、编写一个shell脚本
编写脚本代码:

使用vim文本编辑器(vim能检查语法结构,编写是否存在问题)

每一条linux命令,按执行顺序编写

赋予可执行权限:使脚本具有可执行属性

chmod +x [文件名]

执行方法

方法一:sh 脚本文件路径 (不需要执行权限)

方法二:./脚本文件路径 (需要执行权限来操作)

方法三:source 脚本文件路径 (也不需要执行权限)

实验案例在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
更完善的脚本构成包括

脚本声明 #!/bin/bash

注释信息 # 注释信息

可执行语句

三、重定向
标准输入(STDIN):默认的设备是键盘,文件编号为0,命令将从标准输入文件中读取在执行过程需要的输入数据。

标准输出(STDOUT):默认的设备是显示器,文件编号为1,命令将执行后的输出结果发送到标准输出文件。

标准错误(STDERR):默认设备是显示器,文件编号为2,命令将执行期间的各种错误信息发送到标准错误文件。

标准输入、标准输出和标准错误默认使用键盘和显示器作为关联的设备,与操作系统进行交互,完成最基本的输入、输出操作,

即从键盘接收用户输入的各种命令字串、辅助控制信息,并将命令结果输出到屏幕上;如果命令执行出错,也会将错误信息反馈到屏幕上。

在实际的Linux系统维护中,可以改变输入、输出内容的方向,而不适用默认的标准输入、输出设备(键盘和显示器),这种操作称为重定向。在这里插入图片描述
重定向操作在这里插入图片描述
重定向输入例子:

vi pass.txt

useradd lisi

passwd --stdin lisi < pass.txt #更改用户lisi的密码在这里插入图片描述
在这里插入图片描述
管道操作符号 “|”

将左侧的命令输出结果,作为右侧命令的处理对象。在这里插入图片描述
四、自定义变量在这里插入图片描述
当变量名称后面紧跟其他字符相混淆时,需添加“{ }”将其括起来。

echo ${product}2.5

变量赋值的特殊操作:在这里插入图片描述
设置变量的作用范围

默认情况下,新定义的变量只在当前的shell环境中有效,因此成为局部变量。当进入子程序或新的子shell环境时,

局部变量将无法再使用。为了使用户定义的变量在所有子shell环境中能够继续,可以通过export将指定变量导出为全局变量。

数值变量的计算

expr 变量1 运算符 变量2 [运算符 变量3] …在这里插入图片描述
关于嵌套exp的语法:

T=expr $( expr $X + $Y ) \ $X

特殊的shell变量

1.环境变量

由系统提前创建,用来设置用户的工作环境

配置文件:/etc/profile 、~/.bash_profile

常见的环境变量:

PWD、PATH

USER、SHELL、HOME

2、只读变量

Shell变量中一种特殊情况,一经设定,其值是不可改变的,这种变量被称为只读变量。在这里插入图片描述
注:只读变量的改变是不可逆的,一经只读,无法挽回。

3、位置变量(也称为位置参数,使用$1,$2,$3…$9表示)

当执行命令行操作时,第一个字段表示命令名或脚本程序名,其余的字符串参数安装从左

到右的书序依次赋值给位置变量。在这里插入图片描述
4、预定义变量

$#:表示命令行中位置参数的个数

$*:表示所有位置参数的内容

$?:表示前一条命令执行后的返回状态,为0即正确,任何非0即出现异常

$0:表示当前执行的脚本或程序的名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值