__LINE__ эквивалент для оболочки Linux - PullRequest
1 голос
/ 13 сентября 2010

Я пишу довольно большой сценарий оболочки. Есть ли способ напечатать номер строки сценария из этого сценария? В принципе, я хочу иметь что-то похожее на макрос gcc LINE . Это поможет мне отладить мой скрипт.

Заранее спасибо,

Souvik

Ответы [ 3 ]

2 голосов
/ 13 сентября 2010

Может быть, это немного помогает:

http://www.network -theory.co.uk / docs / bashref / BashVariables.html

BASH_LINENO
  An array variable whose members are the line numbers in source files corresponding to each member of FUNCNAME. ${BASH_LINENO[$i]} is the line number in the source file where ${FUNCNAME[$i]} was called. The corresponding source file name is ${BASH_SOURCE[$i]}. Use LINENO to obtain the current line number. 
0 голосов
/ 13 сентября 2010

Пришлось сделать это самому недавно, и тогда нашел эту полезную статью: http://aymanh.com/how-debug-bash-scripts#adding-line-numbers-to-tracing-output

По сути, вам нужно использовать $LINENO, чтобы получить текущую строку в скрипте.

0 голосов
/ 13 сентября 2010

Переменная $LINENO возвращает строку, в которой используется эта переменная.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...