2014-12-15

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

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

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

サンプルコードはこんな感じ
  1. #! /bin/sh  
  2. func1(){  
  3.  echo ${FUNCNAME[0]}  
  4.  echo ${FUNCNAME[1]}  
  5. }  
  6.   
  7. func2(){  
  8.  echo ${FUNCNAME[0]}  
  9.  echo ${FUNCNAME[1]}  
  10. }  
  11.   
  12. caller(){  
  13.  func1  
  14.  func2  
  15. }  
  16.   
  17. caller  

実行すると
  1. $ ./test.sh   
  2. func1  
  3. caller  
  4. func2  
  5. caller  

0 件のコメント:

コメントを投稿