shell编程-如何定义函数如何调用函数如何调试shell
Posted 栗子~~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程-如何定义函数如何调用函数如何调试shell相关的知识,希望对你有一定的参考价值。
文章目录
前言
如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!
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编程是一个非常敏感的,多一个空格,少一个空格,也会编译不过去。
错误原因:
标准格式为:
if 空格 [空格 表达式 空格]
then
fi
测试一下语法:
该命令执行并调式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调式器的输出,不带+代表的是程序的输出
以上是关于shell编程-如何定义函数如何调用函数如何调试shell的主要内容,如果未能解决你的问题,请参考以下文章