linux 脚本调试命令行参数,shell脚本中的函数及调试

目录

定义函数的语法结构

函数的调用

return返回值

shell脚本调试

~~~~~~~~因为想要面对一个新的开始,一个人必须有梦想、有希望、有对未来的憧憬。如果没有这些,就不叫新的开始,而叫逃亡。 ​​​​

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ————玛丽亚·杜埃尼亚斯

为了避免代码的重复编写,一般会通过函数编写代码块的方法,将具有实现某种功能的代码组合成一个函数,那么后面的程序只需要对这个函数进行调用就可以实现相应的功能。

使用函数的好处:可以对程序进行更好的组织;提高程序的可读性和重用性

定义函数的语法结构

[function]函数名(){

命令序列

[return x]

[function]是可选的,表示该函数的功能,是可以省略的;

()跟在函数名后,里面是没有内容的;

{}我们所需要执行的命令序列放在这里面;

[return x] 当命令序列执行完后返回给系统一个值,是可以省略的。

函数的调用

在脚本中调用函数的方式是直接输入函数名即可,有时候还需要输入一些参数。

举个栗子

#!/bin/bash

function superman() {

echo "I want to you study hard"

}

count=1

while [ $count -le 5 ]

do

fun1

((count++))

done

superman

注意:函数名必须是唯一的,如果重复定义了有相同名字的函数,则新定义的函数就会覆盖旧的函数

return返回值

shell使用return命令来退出函数并返回特定的退出状态码,如果没有指定返回参数,return在默认情况下会返回上一次命令的状态码。

我们在shell中运行的每一个command或function结束时都会返回父进程的一个值,叫作return value。 我们可以使用$?这个变量来得到最新的一个return value ,也就是刚结束的进程返回值。这个return value 取值范围为0-255,可以自定义设置。

举个栗子

#!/bin/bash

function func(){

read -p "Enter a value: " value

echo " the value is"

return $value ##用return自定义返回值

}

func

echo "The new value is $?"

return value 用来判断进程退出的状态:0为真,非0为假

shell脚本调试

当执行脚本时出现脚本错误后,不要只看那些提示的错误行,而是要观察整个相关的代码段。为避免编写的脚本出错,除了在编写脚本时注意书写规范,排除语法错误,更重要的是利用调试脚本工具来调试脚本。

使用echo命令进行调试

echo命令是最有用的调试脚本工具之一,一般在可能出现问题的脚本中加入echo命令,采用的是分段排查的方式。

使用bash命令参数进行调试

格式:

sh [-nvx] 脚本名

参数含义:

-n 不会执行该脚本,仅查询脚本语法是否有问题,如果没有语法问题就不显示任何内容,如果有问题就会报错。

-v 在执行脚本时,先将脚本的内容输出到屏幕上然后执行脚本,如果有错误,也会给出提示。

-x 将执行的脚本内容输出到屏幕上,

当脚本文件较长时,可以使用set命令指定调试一段脚本

举个栗子

bash -n xx.sh 判断语法是否有误

bash -x xx.sh 这个会显示执行成功过的每一行,并显示所有变量的值

bash -v script 执行并显示脚本内容

脚本中加:set -x 用于调试一部分内容

#!/bin/bash

set -x ###开启调试模式###

read -p "请输入您的分数(0-100):" GRADE

if [ $GRADE -ge 85 ]&&[ $GRADE -le 100 ]

then

echo "$GRADE分!优秀"

set +x ###关闭调试模式###

elif [ $GRADE -ge 70 ]&&[ $GRADE -le 84 ]

then

echo "$GRADE分,合格"

else

echo "$GRADE分?不合格"

fi

相关文章:

shell脚本编程循环语句

linux之shell脚本基础

shell脚本编程之case语句

shell编程之条件判断语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值