Shell脚本基础学习

简单介绍Shell脚本

Shell脚本就是一些命令的集合。举个例子,我想实现这样的操作:(1)进入到/tmp/目录;(2)列出当前目录中所有的文件名;(3)把所有当前的文件拷贝到/root/目录下;(4)删除当前目录下所有的文件。简单的4步在shell窗口中需要你敲4次命令,按4次回车。这样是不是很麻烦?当然这4步操作非常简单,如果是更加复杂的命令设置需要几十次操作呢?那样的话一次一次敲键盘会很麻烦。所以不妨把所有的操作都记录到一个文档中,然后去调用文档中的命令,这样一步操作就可以完成。其实这个文档呢就是shell脚本了,只是这个shell脚本有它特殊的格式。

Shell脚本的基本结构以及如何执行

先输出经典的Hello World.
这里写图片描述
Shell脚本通常都是以.sh为后缀名。test.sh中第一行一定是“#! /bin/bash”它代表的意思是,该文件使用的是bash语法。如果不设置该行,那么你的shell脚本就不能被执行。默认我们用vim编辑的文档是不带有执行权限的,所以需要加一个执行权限 chmod +x test.sh
这里写图片描述
在Shell脚本中date这个命令的作用是用来打印当前系统时间。
这里写图片描述
%Y表示年,%m表示月,%d表示日期,%H表示小时,%M表示分钟,%S表示秒

Shell脚本中变量

如果你写了一个长达1000行的shell脚本,并且脚本中出现了某一个命令或者路径几百次。突然你觉得路径不对想换一下,那岂不是要更改几百次?你固然可以使用批量替换的命令,但是也是很麻烦,并且脚本显得臃肿了很多。变量的作用就是用来解决这个问题的。
这里写图片描述
test2.sh中使用了反引号,其作用是在执行一条命令时,会先将其中的 “ ,或者是$() 中的语句当作命令执行一遍,再将结果加入到原命令中重新执行。当在脚本中引用变量时需要加上’$’符号,输出结果为
这里写图片描述
下面用Shell计算两个数的和
这里写图片描述
数学计算要用’[ ]’括起来并且外头要带一个’$’。脚本结果为:
这里写图片描述
Shell脚本读取用户键入数据
这里写图片描述
这就用到了read命令了,它可以从标准输入获得变量的值,后跟变量名。”read x”表示x变量的值需要用户通过键盘输入得到。脚本执行结果如下
这里写图片描述

Shell脚本中的逻辑判断

if 判断语句;then
command
else
command
fi

这里写图片描述
输出结果:
这里写图片描述
在判断数值大小除了可以用”(( ))”的形式外,还可以使用”[ ]”。但是就不能使用>, < , = 这样的符号了,要使用 -lt (小于),-gt (大于),-le (小于等于),-ge (大于等于),-eq (等于),-ne (不等于)。

Shell脚本中的循环

常用到的循环有for循环和while循环,下面简单介绍一下for循环的结构
这里写图片描述
脚本中的seq 1 5表示从1到5的一个序列,脚本执行结果为:
这里写图片描述
这里写图片描述
然后可以看到for循环的基本结构:

for 变量名 in 循环条件; do
command
done

这里写图片描述

循环条件的那一部分还可以写成这样的形式,中间用空格隔开即可。for i in 'cat test.txt'; do echo $i; done

Shell脚本中的函数

这里写图片描述
fun.sh中的sum()为自定义的函数,在Shell脚本中要用

function 函数名() {
command
}

脚本执行结果
这里写图片描述
在Shell脚本中,函数一定要写在最前面,不能出现在中间或者最后,因为函数是被调用的,如果还没出现就被调用了,肯定会出错的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值