LoginSignup
6
6

More than 5 years have passed since last update.

bashスクリプトでデバッグログの出力行を明示

Last updated at Posted at 2013-09-06

logger等でログを吐く際に、ログ出力ファイルと行番号を明示する方法。
ファイル名を${0##*/}とすればうまくいくように思えるが、関数を共通化して共通定義にまとめた場合などに上手く行かない。

BASH_SOUCEは現在のmanでは確認できない模様…。

Bash
# $0は実行プロセス名。
# BASH_SOURCEは実行中のファイルを配列に格納する。現在ファイルが[0]。
# FUNCNAMEは関数名。関数内でなければ空白
# LINENOは行番号。

/usr/bin/logger -p local0.info -t ${0##*/} FILE=${BASH_SOURCE[0]##*/} FUNC=${FUNCNAME} LINENO=${LINENO}
6
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6