2014-12-15

シェルスクリプトで、現在の関数名と呼び出し元の関数名を参照する

${FUNCNAME[0]}で現在実行中の関数名

${FUNCNAME[1]}で呼び出し元の関数名を参照できる

サンプルコードはこんな感じ
#! /bin/sh
func1(){
 echo ${FUNCNAME[0]}
 echo ${FUNCNAME[1]}
}

func2(){
 echo ${FUNCNAME[0]}
 echo ${FUNCNAME[1]}
}

caller(){
 func1
 func2
}

caller

実行すると
$ ./test.sh 
func1
caller
func2
caller

0 件のコメント:

コメントを投稿