shell脚本概述

本文介绍了shell脚本相关知识。shell是命令解释器,shell脚本是包含命令组合的程序文件。其应用场景包括重复性操作、批量事务处理等。还介绍了编辑方式,以及使用脚本执行命令、shell变量操作和用expr进行变量加减乘除等内容。

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

概念

shell是一个命令解释器,负责将用户输入的命令解释成系统内核能够执行的信息,系统内核执行后,显示在终端上。shell有些类似于各个语言的编译器,但又不完全一致。在这里插入图片描述
当linux命令或语句不在命令行下执行,而是通过一程序文件执行时,该程序就被称为shell脚本或shell程序。用户可以在shell脚本中敲入一系列的命令及命令语句组合。这些命令、变量和流程控制语句等有机的结合起来就形成了一个功能强大的shell脚本。

应用场景

当遇到重复性操作、交互性任务、批量事务处理、服务运行状态监控、定时任务执行时,使用shell脚本可以显著的增加工作效率

shell脚本的编辑方式

shell脚本首先写入执行命令的shell环境,在写入注释(可写可不写),之后写入需要执行的命令并把shell脚本文件的权限更改为可执行。shell脚本执行的命令的时候按照写入的顺序一行一行的执行。
shell脚本的格式:
第一行:#!shell环境的绝对路径,比如#!/bin/bash
第二行:#写一些注释,注释必须以#号开头
写完注释后:写入一些echo 123等命令

使用shell脚本执行命令

[root@localhost /]# vim test.sh   编辑文件
#!/bin/bash     指定执行文件的shell环境
echo long may the sunshine
touch 123

[root@localhost /]# chmod +x test.sh      给文件赋予可执行权限
[root@localhost /]# ./test.sh     执行文件
long may the sunshine			显示结果
[root@localhost /]# ls
123  boot  etc   lib    media  opt   root  sbin  su.sh  tmp  var
bin  dev   home  lib64  mnt    proc  run   srv   sys    usr
[root@localhost /]#

shell变量

可以通过给变量赋值来达到不用修改shell脚本只需要修改变量的值来执行不同的操作,格式为aa=bb,aa为变量名,bb为赋予的值,变量名由数字字母下划线组成,不能有特殊符号,不能以数字开头,区分大小写。变量通过$进行调用。

[root@localhost ~]# bb="hello world"
[root@localhost ~]# echo $bb    
hello world

可以通过readonly对某个变量进行锁定

[root@localhost ~]# w=123
[root@localhost ~]# readonly w
[root@localhost ~]# echo $w
123
[root@localhost ~]# w=789
-bash: w: 只读变量

通过read为变量赋值

[root@localhost ~]# read -p "请输入你的名字:" name#-p添加注释
请输入你的名字:shiki
[root@localhost ~]# echo $name
shiki

使用expr对变量进行加减乘除

[root@localhost ~]# a=10
[root@localhost ~]# b=5
[root@localhost ~]# c=4
[root@localhost ~]# expr $a + $b
15
[root@localhost ~]# expr $a - $c
6
[root@localhost ~]# expr $a \* $c		*由于有特殊含义需要加入\转义
40
[root@localhost ~]# expr $a / $c   		对于expr命令有小数形式的数字只取前面取整
2
[root@localhost ~]# expr $a % $c       	%表示取余数
2
[root@localhost ~]# expr $a % $b
0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值