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 - Bash 中 __FILE__ 和 __LINE__ 的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3055755/