bash 中等效的 __LINE__ (php) 是什么?

bash 中等效的 __LINE__ (php) 是什么?

运行 Ubuntu16.04 我想在终端中显示正在运行的 bash 脚本中的行号。

如果它是用 php 编写的,它将类似于这个例子:

echo "Installing NGINX. Line: ".__LINE__

我怎样才能将其翻译成 bash?

答案1

bash可以使用变量$LINENO来实现此目的:

echo Installing NGINX. Line: $LINENO

$LINENO保存当前行号,参见man bash

LINENO
每次引用此参数时,shell 都会用一个十进制数替换脚本或函数中当前连续的行号(从 1 开始)。当不在脚本或函数中时,替换的值不一定有意义。如果取消设置 LINENO,它将失去其特殊属性,即使随后重置它也是如此。

例子

#!/bin/bash
echo $LINENO; echo $LINENO

echo $LINENO

执行此脚本时会打印:

2
2
4

相关内容