Bashスクリプトが実行されている行を確認する方法

Bashスクリプトが実行されている行を確認する方法

どの行かを確認する方法はありますか?数字スクリプトはbash「今」実行されていますか?

ただし、ルックスを使用すると、bash -x script.sh現在の行番号を取得する必要があります。

ベストアンサー1

結合するxtraceそしてPS4スクリプト内部:

$ cat test.sh 
#!/usr/bin/env bash
set -x
PS4='+${LINENO}: '

sleep 1m
sleep 1d
$ timeout 5 ./test.sh
+3: PS4='+${LINENO}: '
+5: sleep 1m

または親シェルから:

$ cat test.sh 
sleep 1m
sleep 1d
$ export PS4='+${LINENO}: '
$ timeout 5 bash -x ./test.sh
+1: sleep 1m

おすすめ記事