之前说了一些脚本和变量,其实都是为了现在讲shell Script也就是shell脚本做铺垫。按照我自己的理解来讲。其实shell 脚本就是一些基础的语法和命令的总和,
所以要学shell 脚本,那么就想要学会一些基本的脚本,不然就算你懂了shell脚本的基础语法,那也没有什么东西可以写。我们已经了解了一些基础的shell命令,和变量的定义了
那么我们现在就来看一下shell脚本的基础语法。
shell脚本文件里面经常有变量,运算符,逻辑判断,循环体,还有函数,如果是有过编程经验的人来看,应该是很容易学的,我也是初学者,所以就讲一些基础的语法。
1 文件格式和运行方式
文件以.sh结尾
[admin@localhost studyShell]$ ls
test1.sh
例如test1.sh
#!/bin/bash
##This is my first shell script
## Writen my huazai 2-14-04-28
date
echo "hello world"
#!/bin/bash
是标示文件类型 如果不加这一行,会报错
date是获取系统时间
运行 sh test1.sh
通过sh -x 可以看到运行的过程,帮助我们查看运行中哪里出现错误!
上面的sleep2 是暂停两秒钟,
2 变量
从前面的文章中,我想应该知道变量是怎么样的东西了,那么在shell脚本中,脚本又分为两种,一种是全局变量,一种是局部变量。是不是跟其他语言很类似呢?
这里需要注意的是 局部变量的定义 需要在前面加 local 来标示,如
local test=10
全局变量和局部变量的差别这里就不说了,有过编码经验的人应该都知道。
同时我们还可以获得动态输入的变量数据
sh test4.sh 查看结果
也可以在运行的时候,直接输入参数
sh test5.sh
$0是文件名称 ,$1是sh test5.sh 后面的第一个参数 1,$2是后面的第二个参数2 ,可以按照自己需要的依次累加
3 数字运算符
对于数字运算,如果变量没有定义类型的话,那么需要用$[]包含起来
如果通过declare -x 定义了变量是数字类型,那么可以直接进行数字运算
运行结果
4 逻辑判断
if判断
运行结果:
带else
case 语句
5 循环语句
for 语句
seq 1 5 就是循环从1 到5
while 语句
6函数
使用function定义函数
再看一个复杂一点的例子
要注意的是,获取函数的返回值,通过$? 来获得。就跟平时执行命令一样,获取命令执行后的结果。
到现在为止,shell script的语法就到此结束那,不过到目前为止讲的都是一些比较基础的。