Linux的shell脚本编程

shell脚本是一组命令、函数、变量,或者您可以在shell中使用的任何东西。
您可以创建自己的shell脚本来自动化需要定期执行的任务。

一、shell脚本的创建和运行

1、创建shell脚本
touch show.sh
在这里插入图片描述然后使用vi编辑器进行编辑

2、首行
#!/bin/bash
其中#!符号能够被内核识别成是一个脚本的开始,这一行必须位于脚本的首行,/bin/bash是bash程序的绝对路径,在这里表示后续的内容将通过bash程序解释执行。

3、注释
在每行开头注释加上#

4、shell脚本的权限
一般情况下,默认创建的脚本是没有执行权限的。因此需要赋予可执行权限
chmod +x show.sh

5、shell脚本的执行
(1)输入脚本绝对路径或相对路径
(2)sh+脚本
sh show.sh
(3)在脚本路径前加“.”或者source
source /root/helloWorld.sh
. ./helloWorld.sh

二、shell变量

1、变量命名规则
(1)变量名称可以由字母,数字和下划线组成,但是不能以数字开头,环境变量名建议大写,便于区分。
(2)在bash中,变量的默认类型都是字符串型,如果要进行数值运算,则必须指定变量类型为数值型。
(3)变量用等号连接值,等号左右两侧不能有空格。
(4)变量的值如果有空格,需要使用单引号或者双引号包括。

2、访问储存在变量中的值:在其名称前加上$符号.
echo自动换行,echo -n 不换行
在这里插入图片描述在这里插入图片描述

3、当参数的值需要放在没有空格的其他文本旁边时,使用花括号
echo ${city}abc
在这里插入图片描述

4、变量可以包含命令或命令序列的输出
mydate=$(date)
num_files=$(/bin/ls | wc -l)

在这里插入图片描述

5、
单引号’(强引用):全部当成字符串
双引号”(弱引用):对变量进行解释(输出值或者执行命令)
反引号`(相当于$)
在这里插入图片描述
6、读变量 read
read -p:在read命令行中直接指定一个提示。

7、特殊的shell定位参数
$0是特殊的,它被指定用于调用脚本的名称;其余的则按照在命令行中传递的参数出现的顺序分配参数值。
$#你的脚本有多少个参数
$@变量保存在命令行输入的所有参数
$?接收最后执行的命令的退出状态

在这里插入图片描述

在这里插入图片描述
8、删除变量
unset NAME

9、shell脚本中的算术计算
通过内置let命令或者外置expr或者bc命令
aa=$((4+5))
bb=expr 4 + 5(expr后只能跟整数参数)

在这里插入图片描述
10、参数展开
${var:-value}: 如果var未设置或为空,展开为value。
${var#pattern}: 从var的值前面去掉最短的匹配。
${var##pattern}: 从var的值前面砍掉pattern的最长匹配。
${var%pattern}: 从var的值的末尾去掉pattern的最短匹配。
${var%%pattern}: 从var的值的末尾砍掉pattern的最长匹配。
在这里插入图片描述
在这里插入图片描述

11、test语句,判断文件
在这里插入图片描述

12、字符串表达式
在这里插入图片描述
13、整数表达式
在这里插入图片描述

14、组合表达式

在这里插入图片描述

15、shell脚本中的if-else语句
在这里插入图片描述

16、shell脚本中的switch-case语句
在这里插入图片描述
17、shell脚本中的for语句
在这里插入图片描述

18、shell脚本中的while语句
在这里插入图片描述
19、shell脚本中的函数
在这里插入图片描述

注:
(1)在shell下编写if语句时,要注意空格符号的存在。在if和[ ]之间以及[ ]和之中内容之间都要有空格存在。
(2)用expr进行算术运算时,运算符两边要加上空格
(3)expr进行乘法运算时,要在*前面加上\(屏蔽其特定含义)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值