${FUNCNAME[@]}和$LINENO使用
$LINENO
代表shell脚本的当前行号
[root@mysql-B ~]# cat test1.sh
#!/bin/bash
trap 'echo “before execute line:$LINENO, a=$a,b=$b,c=$c”' DEBUG
a=
if [ "$a" -eq ]
then
b=
else
b=
fi
c=
echo "end" [root@mysql-B ~]# ./test1.sh
“before execute line:, a=,b=,c=”
“before execute line:, a=,b=,c=”
“before execute line:, a=,b=,c=”
“before execute line:, a=,b=,c=”
“before execute line:, a=,b=,c=”
end
$FUNCNAME
表示函数的名字,它是一个数组变量,其中包含了整个调用链上所有的函数的名字,故变量${FUNCNAME[0]}代表shell脚本当前正在执行的函数的名字,而变量${FUNCNAME[1]}则代表调用函数${FUNCNAME[0]}的函数的名字,依此类推。
[root@mysql-B ~]# cat test1.sh
#!/bin/bash test1() {
echo "aaa"
local a=${FUNCNAME[@]}
echo $a
} test2() {
test1
}
test2 [root@mysql-B ~]# ./test1.sh
aaa
test1 test2 main #输出结果为一个数组,第一个是被调用的函数名称,第二个是调用的函数名称,
想只输出被调用的函数名称时,把@替换成0,想输入调用函数的名称时,@替换成1
随机推荐
- Guava中TreeRangeMap基本使用
RangeMap跟一般的Map一样.存储键值对,依照键来取值.不同于Map的是键的类型必须是Range,也既是一个区间.RangeMap在Guava中的定义是一个接口: public interfac ...
- [React Router v4] Render Nested Routes
With React Router v4 the entire library is built as a series of React components. That means that cr ...
- Qt 子窗口内嵌到父窗口中
有时需要把一个子窗口内嵌进入父窗口当中. 我们可以这样做 1.新建一个QWidget 或者QDialog的子类 ClassA(父类为ClassB) 2.在新建类的构造函数中添加设置窗口属性 setWi ...
- 【hdu 1846】Brave Game
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...
- NET C#转Java
NET C#转Java .NET C#转Java没那么难,都是面向对象的语言,而且语法还是相似的,先对比一下开发环境,再到Servlet,再到MVC,都是一样一样的,只是JAVA的配制项比较多而已,只 ...
- java-线程-ABCABC
public class OneByOne { private Lock lock = new ReentrantLock(); private Condition conditionA = lock ...
- C#写COM组件,JS调用控件
1.c#2005中新建项目,类型为类库,项目名为AddCom确定. 配置:右键点击解决方案资源管理器中的AddCom,选择“属性”,选择“生成”,选择“为COM Interop注册(_P)” 2.打开 ...
- K 线图的认识
股市中的一个铁律就是:如果有个操盘规则广为所知,它会自动平衡,该规则就会失效. 1. 基本经济学概念 大盘:market index,上证综合指数(上海证券综合指数): 其样本股是全部上市股票,包括 ...
- 树莓派挂载移动硬盘开启samba
本文参考 [https://blog.csdn.net/u010906068/article/details/38455363],原文部分步骤在我的树莓派上,可能是版本不同吧,进行了修改后部署成功 一 ...
- NVIDIA 显卡与 CUDA 在深度学习中的应用
CUDA(Compute Unified Device Architecture),是显卡厂商 NVIDIA 推出的运算平台. 0. 配置 显卡驱动的下载地址:Drivers - Download N ...