Bash shell脚本备忘

已开通新的博客,后续文字都会发到新博客

http://www.0xfree.top

---

shell在linux中是很常用的一种解释类型的脚本,包含很多类型,使用范围较广的为bashshell ,在读android源代码中shell文件随处可见,故对此作一备忘(详解shell都可以单独出书了),将一些常用符号和语法记录如下,方便查找

1.一个简单的shell脚本如下

#!/bin/bash

echo "Hello shell"

备注:

1).shell脚本在顶部必须添加#!/bin/bash,来指定所使用的shell类型

2)shell脚本扩展名.sh 可有可无,习惯添加,用于区别文件类型

3)执行可以这样输入:

$. a.sh

或者

$sh a.sh

2.Bash脚本中常用的符号

1)特殊符号

符号

使用说明

注释符#

注释说明

双引号""

引号内的所有字符全部变为普通字符,除 反斜杠\ 倒引号`` 美元符$

单引号''

将引号内所有字符全部变为普通字符

倒引号``

引号内部分当作shell解释执行

反斜杠\

转义字符,将特殊字符变为普通字符

美元符$

引用变量的值

2)文件测试符号

符号

使用说明

-f

文件存在且普通文件

-d

文件夹存在

-x

文件存在且可执行

-w

文件存在且可写

-r

文件存在且可读

-s

文件存在且字节大于0

-n

操作数长度不为0

-z

操作数长度为0

-a

逻辑与

-o

逻辑或

!

逻辑非

3)比较运算符

符号

使用说明

-eq

为整数,相等(只可用于比较整数,不能比较字符串相等)  

-neq

为整数,不相等

=

为字符串,相等

!=

为字符串,不相等

-lt

为整数,小于

-gt

为整数,大于

-le

为整数,小于等于

-ge

为整数,大于等于

4)内置符号

符号

使用说明

$@

代表全部参数

$#

参数的个数

$?

上一个命令返回的结果

$$

当前命令所在的进程号

$n

代表输入的第n个参数

$0

Shell程序的名称

3.条件判断

#!/bin/bash

if [ "$1" = "normal" ]

then

echo "this is normal"

elif [ "$"2 = "active" ]

then

echo "this is active"

fi

备注:

1)在"["与"$1"之间必须添加空格,"["是一种运算符号,故需与后边参数空格隔开

2)if之后必须添加then

3)结束用fi

4.while [] do...done

备注:

1)使用时注意"["代表含义

2)结束用done

5.case esac选择语句

#!/bin/bash

case $1 in

1)

echo "选择了1"

;;

2)

echo "选择了2"

;;

esac

备注:

1)in也是linux命令,不可丢失

2)每个case分支结束用;;

3)case结束用esac

4)break可以跳出,不执行后边的分支

6.for循环

#!/bin/bash

for x in `seq 1 9 `

do

echo `expr $x \* 10 '

done

备注:

1)for 与in 连用,用于表示从某个集合中取得元素

2)`seq 1 9`表示取1-9的顺序数列

3)expr 表示求后边表达式的值

7.函数

备注:

函数的定义一定要在引用之前,可以有参数可以没有参数,可以想象为一群命令的集合

================================================================

PS:shell简单的介绍备注如上,如有错误,欢迎回帖指正

猜你喜欢

转载自blog.csdn.net/beijing2008lm/article/details/8796006
今日推荐