Bash関数メタデータの割り当てとチェック

Bash関数メタデータの割り当てとチェック

私は開発プロジェクトで通常行う多くのタスクを自動化する多くのbash機能を頻繁に作成して登録します。その世代は、私が作業しているプロジェクトのメタデータによって異なります。

次のように作成されたプロジェクトに関する情報で、これらの関数に注釈を付けたいと思います。

func1() {
# This function was generated for project: PROJECT1
echo "do my automation"
}

理想的には、定義を調べるときにコメントを見ることができます。

$ type func1

func1 is a function
func1 () 
{
    # This function was generated for project: PROJECT1
    echo "do my automation"
}

しかし、なんだか強く打つ関数が実行されたときではなく、関数がロードされたときにコメントが無視されるようです。したがって、コメントが失われ、次の結果が得られます。

func1 is a function
func1 () 
{
    echo "do my automation"
}

関数にメタデータを割り当てて調べる方法はありますか?タイプチェック定義を使用すると検索できますか?

ベストアンサー1

function func_name()
{
  : '
  Invocation:   func_name $1 $2 ... $n
  Function:     Display the values of the supplied arguments, in double quotes.
  Exit status:  func_name always returns with exit status 0.
  ' :
  local i
  echo "func_name: $# arguments"
  for ((i = 1; i <= $#; ++i)); do
    echo "func_name [$i] \"$1\""
    shift
  done
  return 0
}

おすすめ記事