Что эквивалентно __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