在Bash中等效__FILE__和__LINE__

前端之家收集整理的这篇文章主要介绍了在Bash中等效__FILE__和__LINE__前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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

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

猜你在找的Bash相关文章