您的位置:首页 > 运维架构 > Shell

shell脚本手记

2016-03-01 17:35 441 查看
记录shell脚本的一些语法和使用技巧

1.遍历目录,我这是用在编译当前路径下所有驱动模块的

for dirls in $(ls ${PWD})
do
echo "make============${dirls}"
make  -C ${dirls};
done

2.${} 与$() 的区别

一般${}代表的是某一路径,如

${PWD}

$()一般是变量

3.函数声明与调用

声明:

function clean_driver_product()

{}

调用:

source ./hh_compile_api.sh   #要调用的函数所在文件

function target_driver_all()

{

        clean_driver_product

}

4.多行注释

1.常用
if false; then
语句1
语句2
语句3
语句4
fi
2.不常用
: '
语句1
语句2
语句3
语句4
'
5、逻辑运算

格式:

test "num1" opr "num2"

[ "num1" opr "num2" ]

opr 取值: 

相等:-eq

不等:-ne

大于:-gt

小于:-lt  【l是字母L的小写】

小于等于:-le

大于等于:-ge

2、字符串

格式:

[ str1 opr str2]

[ opr str ]

opr取值:

相等:=

不等:!=

空串:-z

非空串:-n

3、文件

格式:

[ opr file ]

opr取值:

目录: -d

文件: -f

链接: -L

可读: -r

可写: -w

可执行: -x

文件非空: -s

4、逻辑运算符

逻辑与: -a          格式: [ condition1 -a condition2 ]

逻辑或: -o          格式: [ condition1 -o condition2 ]

逻辑否: !             格式: [ ! condition ]

注意:[ 与condition 之间必须有空格,condition与] 之间也必须有空格

注意: -a -o 用在一个[]中间连接多个条件,而 && || 则用在多个[]之间,连接多个[]条件

         非法:  [ condition1 && condition2 ]

6.linux中shell变量$#,$@,$0,$1,$2的含义解释: 
变量说明: 

$$ 

Shell本身的PID(ProcessID) 

$! 

Shell最后运行的后台Process的PID 
$? 

最后运行的命令的结束代码(返回值) 


$- 

使用Set命令设定的Flag一览 

$* 

所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 

$@ 

所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 

$# 

添加到Shell的参数个数 

$0 

Shell本身的文件名 

$1~$n 

添加到Shell的各参数值。$1是第1参数、$2是第2参数…。 

$? 的使用方法,可以获取上一条命令的返回值,判断是否执行成功

 tftp -g -r $down_file_name 192.168.1.2

    if [ $? -ne 0 ]

       then 

         echo "No package download ..."

         exit

     fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: