🖥

シェル — 変数を使って動的に関数を定義する

2023/08/26に公開

変数定義

function_name="some_func"

eval を使う

eval "function $function_name() { echo ok this is dynamic defined function; }"

別の書き方

eval function "$function_name"\(\) \{ echo ok this is dynamic defined 
 function\; \}

上の例は両方、次のように評価される

function some_func(){ echo ok this is dynamic defined function; }

$function_name だけがシェル的に変数展開されてから eval が実行される

実行例

$ some_func
ok this is dynamic defined function

Versions

  • bash-4.4
  • sh-3.2
  • GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17)

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2018-08-31

Discussion