欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

测试开发进阶(四十)

程序员文章站 2024-03-22 08:23:52
...

运算

$ echo $((10 + 20))	
# 30	
$ one=25	
$ two=12	
$ echo $((one+two))	
# 37

测试开发进阶(四十)

$ echo $((one>two))	
# 1	
$ echo $((one<two))	
# 0

测试开发进阶(四十)

expr

$ echo $(expr $one+$two)	
# 25+12	
$ echo $(expr $one + $two)	
# 37

测试开发进阶(四十)

比较大小需要转义

$ echo $(expr $one \> $two)	
$ echo $(expr $one \< $two)

测试开发进阶(四十)

条件表达式

返回值

  • 条件成立,返回0

  • 条件不成立,返回1

逻辑表达式

  • &&

  • ||

文件表达式

  • -f判断输入内容是非为一个文件

  • -d判断输入内容是非为一个目录

  • -x判断输入内容是非可执行

  • -e判断文件是非存在

数值操作符

  • -eq相等

  • -gt大于

  • -lt小于

  • -ne不等于

字符串比较

  • ==

  • !=

进行判断

test[]效果一致

$ [ 1 = 2 ] && echo "条件不成立"	
$ [ 1 = 2 ] || echo "条件不成立"	
$ test 1 = 2 && echo "条件不成立"	
$ test 1 = 2 || echo "条件不成立"

测试开发进阶(四十)

测试开发进阶(四十)

查看使用方法

$ man [ ]	
$ man test

Shell脚本

格式要求

  • 在文件首行指定执行shell的程序

测试开发进阶(四十)

#!/bin/bash	
#Author:zhongxin
  • 后缀建议为 .sh

  • 执行失败时,使用 exit返回非零值,来退出程序

  • 默认锁进4个空格

执行脚本

# 第一种方式	
$ bash 1126.sh	
# 第二种方式	
$ chmod +x 1126.sh	
$ ./1126.sh	
# 第三种方式	
$ source 1126.sh

注释

  • 单行注释: #

  • 多行注释

#!/bin/bash	
#Author:zhongxin	
:<<!	
要注释的内容	
!	
pwd

测试开发进阶(四十)

函数

格式一

#!/bin/bash	
函数名()	
{	
    ...	
}

格式二

#!/bin/bash	
function 函数名	
{	
    ...	
}
#!/bin/bash	
#Author:zhongxin	
:<<!	
要注释的内容	
!	
hello()	
{	
    echo "Hello,Shell"	
}	
hello	
function greet	
{	
    echo "Hello,zx"	
}	
greet

测试开发进阶(四十)

入参

function greet	
{	
    echo "Hello,$1"	
    echo "Hello,$2"	
    echo "Hello,$3"	
}	
greet 'a' 'b' 'c'

测试开发进阶(四十)

接收命令行传参

greet $1 $2 $3

测试开发进阶(四十)

#!/bin/bash	
#Author:zhongxin	
read -p "请输入你的姓名:" name	
read -p "请输入你的年龄:" age	
read -p "请输入你的爱好:" 	
function info	
{	
    # -e 运行\n换行	
    echo -e "你的姓名为:${name}\n你的年龄为:${age}\n你的爱好为:${REPLY}"	
}	
info

测试开发进阶(四十)

流程控制

if

if [ 条件1 ]	
then	
    指令1	
elif [ 条件2 ]	
then	
    指令2	
else	
    指令2	
fi

例子:

#!/bin/bash	
#Author:zhongxin	
read -p "输入你的年龄:"	
if [ ${REPLY} -ge 70 ]	
then	
    echo "好好养生"	
elif [ ${REPLY} -ge 18 ]	
then	
    echo "好好工作"	
else	
    echo "好好学习"	
fi

测试开发进阶(四十)

for

方式一
for 值 in 列表	
do	
    执行语句	
done

例子

dirs=$(ls /)	
for i in ${dirs}	
do	
    index=$((${index} + 1))	
    echo "${index}.${i}"	
done

测试开发进阶(四十)

方式二
max=10	
for ((i=1;i<=max;i++))	
do	
    执行语句	
done

例子

#!/bin/bash	
#Author:zhongxin	
max=10	
for ((i=0;i<=max;i++))	
do	
    echo "i=${i}"	
done

测试开发进阶(四十)