シェルスクリプトで関数名を取得する

Tetsuro Aoki 360views 更新:2015年12月1日

${FUNCNAME[0]}で現在実行中の関数名、${FUNCNAME[1]}で呼び出し元の関数名を取得することができます。
なお、関数内で$0を呼び出しても取得できるのは関数名ではなくファイル名です。

test.sh

#!/bin/sh

function output() {
  echo $0
  echo ${FUNCNAME[0]}
  echo ${FUNCNAME[1]}
}

output
$ ./test.sh
test.sh
output
main

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません