Linuxのシェルで環境変数の値を評価してコマンドを実行します。
evalコマンド検証用のファイルを作成する!
以下のファイルを準備します。
$ cat sample_eval.txt eval
evalコマンドで環境変数の値を評価してコマンドを実行する!
以下のシェルを準備します。CMD変数には、環境変数が環境変数名で格納されています。
$ cat sample_eval.sh #!/bin/bash STR="eval" CMD="grep \$STR sample_eval.txt" echo $CMD eval $CMD
実行してみます。$STR環境変数が、評価されてから実行されます。
$ ./sample_eval.sh grep $STR sample_eval.txt eval
おわりに
シェル内で環境変数名のままコマンドを組み立てた場合は、evalコマンドで評価してコマンドを作成して、実行させることができます。
関連記事
関連書籍(Amazon)