shell脚本的三部分
1.#!开头的解释代码的解释器
2.#代码的注释
3.代码内容
shell中的变量
shell中的变量不需要生命,如果见到$开始的单词,就会寻找变量的值替代它(变量可以用{})。变量名必须遵循以下规则:
首个字符必须为字母
中间不能有空格
不能用标点符号
不嫩用bash中的关键字
shell中的运算
1.使用expr
格式 weight=‘expr $weight + 1’需要注意的是,在+的两边要有空格。如果使用需要用
2.let表示数学运算
let “weight+=1” 或 let “weight=$weight+1”
3.(())方式与let类似
((weight+=1))或((weight=$weight+1))
4.$[]中括号内表达式作为数学计算结果在输出
weight=$[weight]
shell中获取输入值 read 变量
流程控制
1.if语句
与java不同在shell编程中在判断语句后要加then然后加执行的内容,如果内容结束则用fi,这里的fi是告诉解释器,到这里判断语句结束。同时在fi的判断语句的结束需要使用;进行分割。
对于if() else if()的shell编程使用if condition ;then felif condition;then fi
2.test
test的判断有两种形式
第一种形式
test expression
第二种形式
[ expression ]这里的中括号两边需要有空格
test的表达式
表达式 | 描述 |
---|---|
-d file | 如果目录存在返回真 |
-e file | 如果文件存在返回真 |
-f file | 如果文件存在并且是普通文件返回真 |
-L file | 如果文件是连接文件返回为真 |
-r file | 如果文件对你来说是可读则返回真 |
- w file | 略 |
-x file | 略 |
file1 -nt file2 | 判断file1文件如果比file2新则返回真 |
file1 -ot file2 | 略 |
-z string | 如果字符串为空则返回真 |
-n string | 如果字符串不为空则返回真 |
string1 = string2 | 如果相等则返回真 |
string!=string2 | 略 |
integer1 -eq integer2 | 是否相等 |
integer1-ge integer2 | 大于等于 |
integer1 -gt integer2 | 大于 |
le和ge相反同理lt和gt相反。对于&&在shell语句中使用-o对于and使用-a
3,exit语句
推出程序的语句 exit 0正常退出exit 1异常退出.
4.case语句
case语句用来匹配一个给定的字符串,而不是数字,格式如下case word in;esac
例子:
case $1 in
-h) help;
–) shift
-*)error “”
*)break
5.循环语句
while … ;do
…
done
for var in …;do
…
done
for语句可以循环擦看一个字符串行表,若找到匹配进入循环