🖥
シェル — 変数を使って動的に関数を定義する
例
変数定義
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)
Links
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2018-08-31
Discussion