第一个shell脚本程序。vi新建文件test.sh,并赋予执行权限
#!/bin/sh
echo 'hello word !'
执行结果:hello word !
shell脚本结构:以#!/bin/sh开始,然后换行下面的就是程序主体。当然这里只是以#!/bin/sh为例。
了解学习一门新的语言,我一般都是遵循着这么个过程。
1、变量以及变量赋值
2、流程控制
3、数据集操作:集合数组
4、类、方法调用
熟悉了以上的东西,对这门语言就有了最基本的掌握。
一、变量
所有的变量都是字符串,且不需要声明变量。
first='OKOKOK'
需要注意的是等号的左右两边没有空格。
引用:${first}或者${first}
#把first的值赋给second
second=$first
first=2
echo 'this is ${first}'
执行结果:this is 2
二、流程控制
1、if判断
if...
then
.....
elif....
then
.....
else
....
fi
格式如上。
与java不同的是,java的条件用()包起来,shell的用[ ] 或者()方括号。尤其要注意方括号的前后都要有空格。
举个实际例子:
a='1'
if [ ${a} -eq '1' ]
then
echo 'this is 1'
elif [ ${a} -eq '2' ]
then
echo 'this is 2'
else
echo 'this is other'
fi
执行结果:this is 1
以上程序的就是比较变量是否等于某个值。
下面是复合条件的if判断
a='3'
if [[ ${a} -eq '1' ]] || [[ ${a} -eq '3' ]]
then
echo 'this is 1'
elif [ ${a} -eq '2' ]
then
echo 'this is 2'
else
echo 'this is other'
fi
执行的结果:this is 1
在java中就是if(a.equals("1") || a.equals("3")),但是这里不是。
下面这种也是可以:
if [ ${a} -eq '1' -o ${a} -eq '3' ]
-o:就是 ||、或者
说到流程判断就要用到表达式和逻辑运算符,下一篇会写到相应信息。