Что эквивалентно __LINE__ (php) в bash?

Запуск Ubuntu16.04 Я хотел бы отобразить в терминале номер строки в запущенном скрипте bash.

Это было бы что-то вроде этого примера, если бы это было в php:

echo "Installing NGINX. Line: ".__LINE__

Как я мог перевести это на bash?

1 ответ

Решение

В bash Вы можете использовать переменную $LINENO для этого:

echo Installing NGINX. Line: $LINENO

$LINENO содержит текущий номер строки, см. man bash:

LINENO
При каждом обращении к этому параметру оболочка заменяет десятичное число, представляющее текущий последовательный номер строки (начиная с 1) в скрипте или функции. Когда нет в сценарии или функции, заменяемое значение не обязательно будет значимым. Если LINENO не установлен, он теряет свои специальные свойства, даже если он впоследствии сбрасывается.

пример

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

echo $LINENO

При выполнении этот скрипт печатает:

2
2
4
Другие вопросы по тегам