相当于`__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

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

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...