Как получить номер строки в оболочке Bash? - PullRequest
0 голосов
/ 04 декабря 2018

Ниже приведен код, используемый для отладки,

#!/bin/sh

exec >> ./debug.$$.out
exec 2>&1
set -vx
export PS4='[$0: $LINENO]+ '
export PS4
# code here

в окне RHEL, где

$ ls -l /bin/sh
lrwxrwxrwx. 1 root root 4 Jul 16 12:10 /bin/sh -> bash

$LINENO используется для языка оболочки bash (в RHEL 7.5).


В окне Solaris-10, использующем язык оболочки Bourne, ниже приведен код для отладки,

#!/bin/sh

exec >> ./debug.$$.out
exec 2>&1
set -vx
PS4='[$0]+ '
export PS4
# code here

без номера строки, где

$ls -l /bin/sh
lrwxrwxrwx   1 root     root          13 Nov  1 19:39 /bin/sh -> ../../sbin/sh

строка Шебангане может быть изменено в окне Solaris

Как получить номер строки? в поле Solaris

...