Qual é o equivalente __LINE__ (php) no bash?

1

Executando Ubuntu16.04 Eu gostaria de exibir no terminal o número da linha em um script bash em execução.

Seria algo como este exemplo se estivesse em php:

echo "Installing NGINX. Line: ".__LINE__

Como eu poderia traduzi-lo para o bash?

    
por zwitterion 06.01.2018 / 17:35

1 resposta

4

Em bash , você pode usar a variável $LINENO para essa finalidade:

echo Installing NGINX. Line: $LINENO

$LINENO contém o número da linha atual, consulte man bash :

LINENO
Each time this parameter is referenced, the shell substitutes a decimal number representing the current sequential line number (starting with 1) within a script or function. When not in a script or func‐ tion, the value substituted is not guaranteed to be meaningful. If LINENO is unset, it loses its spe‐ cial properties, even if it is subsequently reset.

Exemplo

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

echo $LINENO

Quando executado, este script imprime:

2
2
4
    
por dessert 06.01.2018 / 17:46

Tags