0
点赞
收藏
分享

微信扫一扫

shell编程-如何定义函数、如何调用函数、如何调试shell

云上笔记 2022-02-27 阅读 97

文章目录

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


shell编程-如何定义函数、如何调用函数、如何调试shell

01 如何定义函数?

function test(){

}

test1(){

}

例子:
test1.sh

#!/bin/bash
function test(){
    local X=1
    echo "hello world!!!-function"
    echo $1 $2
    return $X
}
test1(){
    echo "hello world!!!"
}
source test.sh

02 如何调用函数?

直接用函数名调用
修改test.sh文件

#!/bin/bash
test1
test 12 13

在这里插入图片描述

使用命令替换间接调用:
修改test.sh文件

#!/bin/bash
TT=$(test 113 5654)
echo $TT

在这里插入图片描述

03 如何获取返回值?

使用$? 前一个命令退出状态,可以用来获取函数返回值:
修改test.sh文件

#!/bin/bash
test 1 2 
echo "test return: $?"

在这里插入图片描述

04 如何对shell函数进行调试?

写一个例子:
test1_1.sh

#!/bin/bash
for VAR in 1 2 3
do
    if[$VAR -eq 2]
    then
       continue
    fi
       echo $VAR
done

该命令用来检查是否有语法错误:

sh -n test1_1.sh

在这里插入图片描述

发现语法错误,修改实例:

#!/bin/bash

for VAR in 1 2 3
do
    if [$VAR -eq 2]
    then
       continue
    fi
       echo $VAR
done

shell编程是一个非常敏感的,多一个空格,少一个空格,也会编译不过去。
错误原因:
标准格式为:

测试一下语法:
在这里插入图片描述

该命令执行并调式shell脚本:

sh -x test1_1.sh

调式结果如下:
在这里插入图片描述

发现错误,修改脚本如下:
使用[]注意左右加空格

#!/bin/bash

for VAR in 1 2 3
do
    if [$VAR -eq 2]
    then
       continue
    fi
       echo $VAR
done

运行结果:
在这里插入图片描述

其中带有+表示的是shell调式器的输出,不带+代表的是程序的输出

举报

相关推荐

0 条评论