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

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

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

echo "Installing NGINX. Line: ".__LINE__

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

1
задан 6 January 2018 в 19:35

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
4
ответ дан 6 January 2018 в 19:35

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

Похожие вопросы: