Ubuntu Linux基础教程 第6章Shell脚本编程初步 期末复习

大家觉得写还可以,可以点赞、收藏、关注一下吧!
也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn


第6章Shell脚本编程初步

6.1脚本入门

6.1.1创建脚本

步骤:

  1. 编写shell脚本
  2. chmod +x shellfile:使脚本文件获得执行权限
  3. ./shellfile:执行脚本文件
6.1.2调试和运行脚本
  • -n:读一遍脚本中的命令但不执行,用于检查脚本中的语法错误
  • -v:一边执行脚本,一边将执行过的脚本命令输出到屏幕上显示
  • -x:提供跟踪执行信息,将执行的每一条命令与结果一次打印出来
  • -e:若有一条命令失败就立即退出
  • -u:置换时把未设置的变量看作出错
  • -c:使Shell解析器从字符串而非文件中读取并执行命令

步骤

  1. 编写shell脚本
  2. 使脚本文件获得执行权限
  3. sh -n shellfile:执行-n命令,若正常则无提示。

注意: 在定义变量时需要注意一下命令规则。

  1. 定义变量时,变量名不加”$“符号;
  2. 变量名和等号之间不能有空格;
  3. 首字符必须是字母;
  4. 中间不能有空格,可以使用下划线(_);
  5. 不能使用标点符号;
  6. 不能使用bash里的关键字;

6.2条件结构化命令

6.2.1使用case语句
#!/bin/bash
echo "PLEASE INPUT YOUR SCORE"
read SCORE
SCORE=$((SCORE/10))
case $SCORE in
6)
	echo "YOUR SCORE IS PASSED"
	;;
7)
	echo "YOUR SCORE IS GOOD"
	;;
8)
	echo "YOUR SCORE IS GREAT"
	;;
9|10)
	echo "YOUR SCORE IS EXCELLENT"
	;;
*)
	echo "YOU FAIL YOU EXAM"
	;;
esac
6.2.2使用if语句
  1. if-elif-else

    #!/bin/bash
    echo "PLEASE INPUT A NUMBER"
    read NUM
    if [ "$NUM" -gt "0" ]		# 双引号可省略
    	then
    	echo "NUMBER IS GREATER THAN ZERO"
    elif [ "$NUM" -lt "0" ]
    	then
    	echo "NUMBER IS LESS THAN ZERO"
    else
    	echo "NUMBET IS EQUAL WITH ZERO"
    fi
    
  2. if-nested-if

    #!/bin/bash
    echo "PLEASE INPUT A NUMBER"
    read NUM
    if [ "$NUM" -eq "0" ]		# 双引号可省略
    	then
    	echo "NUMBET IS EQUAL WITH ZERO"
    else	
    	if [ "$NUM" -gt "0" ]
    		then
    		echo "NUMBER IS GREATER THAN ZERO"
    	else
    		echo "NUMBER IS LESS THAN ZERO"
    	fi
    fi
    
  3. if条件下使用test命令,用于检查某个条件是否成立,其功能与方括号[]类似

    #!/bin/bash
    read NUM
    if test "$((NUM%2))" -eq "1"
    then
    	echo "the number is an odd number"
    else
    	echo "the number is a even number"
    fi
    

6.3循环结构化命令

6.3.1使用for
  1. 列表for循环

    #!/bin/bash
    sum=0
    for i in {2..200..2}
    do
    	sum=$(($sum+i))
    done
    echo "sum=$sum"
    
    #!/bin/bash
    for file in $(ls -lt|awk '{print $9}')	# 结合管道使用
    do
    	echo "file: $file"
    done
    
  2. 不带列表for循环

    #!/bin/bash
    for 条件
    do
    	语句
    done
    
  3. 类C风格for循环

    #!/bin/bash
    sum=0
    for((i=2;i<=200;i=i+2))
    do
    	let "sum = sum + i"
    done
    echo "The Sum is:"$sum
    
6.3.2使用while
#!/bin/bash
num=1
while [ $num -le 10 ] # []两侧一定要有空格,否则不能运行
do
	echo $num
	num=$(($num+1))
done
#!/bin/bash
read i
while [ $i -lt 101 ] && [ $i -gt 0 ]
do
	if [ $i -eq 29 ]
		then
		echo "you are right"
		exit 0
	elif [ $i -lt 29 ]
		then
		echo "you should try a bigger one"
	else
		echo "you should try a smaller one"
	fi
	read i
done
6.3.3使用until,即do-while
#!/bin/bash
num=1
until ((num>10))	# 符合条件才退出循环
do
	echo $num
	((num++))		# 或者:num=$(($num+1))
done
6.3.4使用break和continue
  1. break

    #!/bin/bash
    i=25
    while [ $i -gt 0 ]
    do
    	echo $i
    	((i++))
    	if [ $i -eq 29 ]
    	then
    		echo $i
    		echo "you are right"
    		break
    	fi
    done
    
  2. continue

    #!/bin/bash
    i=25
    while [ $i -lt 31 ] && [ $i -gt 0 ]
    do
    	((i++))
    	if [ $i -eq 29 ]
    		then
    		continue
    	fi
    	echo $i
    done
    

2020年12月16日更

大家觉得写还可以,可以点赞、收藏、关注一下吧!
也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn


1.2 软件缺陷( what is? why comes? and it’s cost)1.2 软件缺陷 1.2.1软件缺陷是什么?  定义:只有符合下列5个规则的软件问题,我们将其定义为软件缺陷(software fault) • 软件未达到产品说明书标明的功能 • 软件出现了产品说明书指明不会出现的错误 • 软件功能超出产品说明书指明范围 • 软件未达到产品说明书虽未指出但应达到的目标 • 软件测试员认为软件难以理解、不易使用、运行速度缓慢、`或者最终用户认为不好。 1.2.2为什么会出现软件缺陷?  从小程序到大项目的无数研究得出:导致软件缺陷最大的原因是产品说明书(需求)  其次的原因是设计方案的问题。 1.2.3软件缺陷的修复费用 1.3 软件测试员(job and qualification)1.3 软件测试员 1.3.1软件测试员的工作  软件测试员的目标是尽可能早的找出软件缺陷,并确保其得以修复。 1.3.2怎样成为优秀的软件测试员  技术能力  探索精神  不懈努力  创造力  说服力  准确的洞察力  坚韧不拔的毅力  追求完美 第2 软件测试基础 2.1 测试原则(principle) .1测试原则 1.完全测试程序是不可能的  输入量太大  输出结果多  软件实现途径太多  软件说明书没有客观标准 2.软件测试是有风险的行为  如果试图测试所有情况,费用将大幅增加,软件缺陷漏掉的数量并不会费用上涨而显著下降。  如果减少测试或者错误地确定测试对象,那么费用很低,但是会漏掉大量软件缺陷。 (每个项目都有一个最优的测试量) 3.测试无法显示潜伏的软件缺陷 “Program testing can be used to show the presence of bugs but never to show their absence.” —Edsger W. Dijkstra, 1972 4.找到的软件缺陷越多,就说明软件缺陷越多
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值