shell脚本

SHELL脚本的学习

1.1.1 什么是shell脚本

**百度找到的解释:
用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的
**

1.1.2 shell脚本 的创建和执行

自定义脚本一般都放在 /usr/local/sbin目录下,方便管路文档,也方便管理员知道自定义脚本在哪。
在这里插入图片描述
shell脚本通常以.sh为后缀名,是一个习惯而已。
规范的来说,脚本文件一般第一行都要以#! /bin/bash开头,表示该文件使用的是bash语法。#是注释的意思,#后面的信息不会被看见,只能进入编辑才能看见,注释后面一般跟时间、相关内容、创建时间和版本等,要养成写注释的好习惯,方便以后翻找。

在这里插入图片描述
第一次写、执行脚本,还挺刺激嗷。

脚本除了sh这种执行方式,还是./这种执行方式
在这里插入图片描述
很明显,系统提示我没有权限,所以需要给他加个x权限,用sh命令执行shell脚本的时候可以加个-x来查看执行的过程
在这里插入图片描述

1.1.3 命令date的用法

date在shenll脚本常见的用法。
date + %Y :表示以四位数数字格式打印年份。
date + %y :表示以两位数数字格式打印年份。
date + %m:表示月份。
date + %d:表示日期。
date + %H:表示小时。
date + %M:表示分钟。
date + %S:表示秒。
date + %w:表示星期。输出星期0则表示周日。

在这里插入图片描述

前一天、前一小时、前一分钟甚至前一秒

在这里插入图片描述

1.2.1 shell脚本中的变量

在shell脚本中使用变量会使我们的脚本更加专业,定义变量的格式为:“变量名=变量的值”。
首先我们编辑一个与变量相关的脚本。

在这里插入图片描述
使用反引号`时将引号中的字符串当成shell命令执行,返回命令的结果。d和d1中脚本中作为变量的出现。

在这里插入图片描述

1.2.2数学运算

在这里插入图片描述
数学计算要用[ ] 括起来,并且前面要加符号$。

1.2.3和用户交互

在这里插入图片描述
read 命令用于用户交互,它把用户输入的z字符串作为变量的值。可以试试执行的时候加上一个-x
在这里插入图片描述

1.2.4 shell脚本预设变量

实际上,shell脚本在执行时,后面可以多跟一个或者多个参数。比如:在这里插入图片描述
$1和$2其实就是脚本的预设变量。$1和$2的值即使在执行时分别输入的和2,$1就是脚本的第一个参数$2时脚本的第二个参数

1.3.1if逻辑判断,不带else

具体格式:
if 判断语句 ; then
command
fi

在这里插入图片描述
if1.sh中出现((a<60))这样的形式,这是shell脚本中特有的格式,只会报错。

1.3.2带有else

具体格式:
if 判断语句; then
command
else
command
fi

示例如下:
在这里插入图片描述

1.3.3带有elif

具体格式如下:
if 判断语句1;then
command
elif 判断语句2;then
command
else
command
fi

示例如下:
在这里插入图片描述
这里&&有并且的意思,当然也可以使用||表示“或者”。
在(())形式内判断数值大小可以用<、>、=,但是在[ ] 内不能用,在[ ] 只能用-lt(小于)、-gt(大于)、-le(小于或者等于)、-eq(等于)、-ne(不等于)。

1.3.4和文档相关的判断

shell脚本中if还经常用于判断文档的属性,比如判断是普通文件还是否有读、写、执行的权限等。
if常用的选项有:
-e:判断文件或者目录是否存在
-d:判断是u是目录以及是否存在。
-f:判断是不是普通文件以及是否存在。
-r:判断是否有读权限。
-w:判断是否有写权限。
-x:判断是否可执行。
具体格式如下:
if [-e filename] ; then
command
fi

示例:
在这里插入图片描述
因为home是目录不是文件,所以没有输出ok

1.3.5case逻辑判断

除了用if来判断逻辑外,还有case

具体格式如下:
**case 变量 in
value1)
command
;;
value2)
command
;;
value3)
command
;;

command
;;
esac

value代表个数。
示例:
在这里插入图片描述

1.4.0shell脚本中的循环

1.4.1 for循环

for循环打格式:
for 变量名 in 循环的条件; do
command
done

示例:
在这里插入图片描述

1.4.2while循环

具体格式:
while 条件;do
command
done

示例:

在这里插入图片描述

1.5.shell脚本中的中断和继续

1.5.1shell脚本中断break

break既可以用在for循环也可以用在while循环。

示例
在这里插入图片描述

1.5.2 shell脚本中的continue

示例:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值