Linux之shell脚本

一、什么是shell脚本?

基本上,shell脚本有点像是早期的批处理文件(.bat),即将一些命令集合一起一次执行(一次性执行多个命令)。但是shell脚本拥有更强的功能,那就是它可以进行类似程序的编写,并且不需要经过编译就能够执行

shell脚本是利用shell的功能所写的一个程序。这个程序是使用纯文本文件,将一些shell的语法与命令(含外部命令)写在里面,搭配正则表达式、管道命令与数据流重定向等功能,已达到我们想要的功能。

二、脚本的书写规范

格式:必须 #!/bin/shell 起头(当文件执行的时候,能加载bash相关的配置文件,一般来说是非登录 shell的 ~/.bashrc
拥有可读、执行权限:chmod a+x 文件名
执行脚本:
①、./xx.sh
②、bash xx.sh
③、source xx.sh
④、sh xx.sh
在这里插入图片描述
注意:
①、命令是从上向下、从左向右分析与执行的
②、命令、选项与参数之间的多个空格会被忽略
③、空白行也将会被忽略掉,并且[Tab]键所产生的空白同样视为空格键
④、如果读取到一个Enter符号(CR),就尝试开始执行改行(或该串)命令
⑤、至于如果一行内容太多,写不下可以换行
⑥、【#】后面的所有内容被当做注释

编写脚本的时候,需要说明该脚本的:
①、内容与功能
②、版本信息
③、作者和联系方式
④、建文件日期
⑤、历史记录
⑥、脚本内较特殊的命令,使用【绝对路径的方式来执行】
⑦、脚本运行时需要的环境变量预先声明和设置

三、shell脚本的练习

1、交互式脚本:变量内容由用户决定

很多时候安装的时候会问你【需要安装的目录】,这个时候就是让用户去输入变量内容。

案例一:让用户输入:姓名,最后在屏幕上输出用户输入的信息

脚本信息如下:
在这里插入图片描述
显示效果如下:
在这里插入图片描述

2、随日期变化:利用date创建文件

案例二:创建三个文件,文件名为分别为 a)自定义名字+当前时间、b)自定义名字+前一天时间、c)自定义名字+前二天时间

脚本编写代码如下:
在这里插入图片描述

显示效果如下:
在这里插入图片描述
3、数值运算:简单的加减乘除

案例三:用户输入两个数字,实现相乘

脚本编写代码如下:
在这里插入图片描述
显示效果如下:
在这里插入图片描述
在数值运算上可以使用:

declear -i total=${number1}*${number2}
total= `expr $number1 \* $number2` 
total=$((${number1}*${number2}))

关于bc命令的使用如下:

 通过管道符

$ echo "15+5" | bc
20

scale=2 设小数位,2 代表保留两位:

$ echo 'scale=2; (2.777 - 1.4744)/1' | bc
1.30

bc 除了 scale 来设定小数位之外,还有 ibase 和 obase 来其它进制的运算:

$ echo "ibase=2;111" |bc
7

进制转换

#!/bin/bash

abc=192 
echo "obase=2;$abc" | bc
<pre>
<p>
执行结果为:11000000,这是用bc将十进制转换成二进制。</p>


<pre>
#!/bin/bash 

abc=11000000 
echo "obase=10;ibase=2;$abc" | bc

执行结果为:192,这是用bc将二进制转换为十进制。

计算平方和平方根:

$ echo "10^10" | bc 
10000000000
$ echo "sqrt(100)" | bc
10

猜你喜欢

转载自blog.csdn.net/qq_44796093/article/details/109125119