shell脚本学习--基础脚本构建

初学shell脚本
        shell脚本我认为就是一个命令的集合体,通过把命令放入一个表单里去让你指定的shell(大多数linux发行版默认是bash shell,通过echo $SHELL可以查看当前linux发行版使用的shell)去挨个执行,可以通过结构化语句来达到一个判断的过程,编写一个好的shell脚本可以让你工作更加高效。

第一个shell脚本

        编写shell脚本前需要注意的事项,一般在命名的时候最好在末尾添加.sh证明这是一个用bash shell的shell脚本文件,执行shell一般在当前目录下./ XX.sh或者在PATH变量中添加上你要执行的shell路径,这样才能找到你shell脚本在哪里。做完这些如果shell脚本没有执行权限需要给当前的shell脚本一个执行的权限,chmod u+x XX.sh做完这些就可以运行你编写的shell脚本了。

#!/bin/bash
#The first
date
echo hello world

        shell脚本第一行为指定它的shell,#为注释,然后进行对命令进行逐条执行。echo对字符串进行输出,需要注意的是如果在字符串中出现引号需要在echo后面的字符串添加双引号或单引号。

脚本中变量的使用

        shell脚本可以临时性的将数据储存至变量中,可以是数字,可以是目录,也可以是命令执行的结果(利用$()或``来获取命令输出),同时也可以使用环境变量在脚本中。要使用自己创建的变量只需要在变量前加上$就可以了。

#!/bin/bash
#创建变量
test
#创建变量(赋值数字)
test1=1
#创建变量(赋值目录)
test2=/etc/sysconfig
#创建变量(赋值命令的输出值)
test3=$(date)
test4=`date`
#调用变量
$test

脚本中处理数字运算

        在shell脚本中数字运算需要使用expr命令,如expr5 + 2,单因为是命令,要在脚本中进行变量赋值会很麻烦,有一个更好的处理方法$[]可以在方括号中进行数学运算,然后赋值给变量。如要处理浮点数预算需要使用bc命令。

#!/bin/bash
#使用expr对变量赋值,乘法需要使用转义字符,要不然会出现错误
var=expr 1 +2
var2=expr 1 \* 2
#使用$[]对变量进行赋值
var3=$[1 + 2]
var4=$[1 * 2]
#使用bc计算浮点数对变量赋值,scale指定为4位小数
var5=$(echo "scale=4; 10 / 6.5" | bc)
#使用bc多个浮点数计算赋值
var6=$(bc << EOF
scale = 1
a1 = ($var1 * $var2)
b1 = ($var3 * $var4)
a1 + b1
EOF
)

脚本退出

        在shell中,执行完命令后都有一个退出码(0~255),使用echo $?可以查看上一条命令的退出码,如果正常执行完毕退出码为0,如果出现错误会出现一个非0的正数。常见的退出码对应如下表所示。在shell脚本中可以通过exit对退出码进行修改,脚本执行成功就会返回exit修改后的值

状态码                                                    描述
0 命令成功结束
1 一般性未知错误
2 不适合的shell命令
126 命令不可执行
127 没找到命令
128 无效的退出参数
128+x 与Linux信号x相关的严重错误
130 使用Ctrl+C终止的命令
255 正常范围之外的退出状态码
发布了19 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/sandaawa/article/details/86490598
今日推荐