微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

相当于`__FILE__`,`__LINE__`在bash中

bash中有没有包含执行的.sh文件名称的变量?
线数也会很好。

我想在错误信息中使用它,如:
echo“ERROR:[$ FILE:L $ LINE] $ somefile not found”

#!/bin/bash

echo $LINENO
echo `basename $0`

$ LINENO为当前行号
$ 0为当前文件。我使用basename来确保只获取文件名而不是路径。

更新:

#!/bin/bash

MY_NAME=`basename $0`

function ouch {
   echo "Fail @ [${MY_NAME}:${1}]"
   exit 1
}

ouch $LINENO

如果您使用函数方法,则必须将该行作为参数传递,否则您将获得函数定义的一行。

原文地址:https://www.jb51.cc/bash/388008.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐