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

Всегда есть кошка, голова, хвост ... поэтому я не уверен, что есть система, в которой у вас нет альтернативы, но можно найти системы, где нет лучшей альтернативы, даже если вы предпочитаете emacs.

Моим примером была система, которую я когда-то администрировал, которая была либо слишком медленной (или линия была медленной, и потерянной), что при навигации с помощью клавиш курсора он часто внезапно переключался на вставку и вносил мусор в отредактированный файл, и использование HJKL для движения было единственным надежным вариантом.

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

3 ответа

В 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
ответ дан 22 May 2018 в 15:43

В 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
ответ дан 17 July 2018 в 23:43

В 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
ответ дан 24 July 2018 в 17:05

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

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