Bashの「eval」コマンドは何ですか?

Bashの「eval」コマンドは何ですか?

evalこのコマンドで何ができますか?なぜ便利ですか? bashに組み込まれた機能ですか?manそのページはありません..

ベストアンサー1

evalPOSIXの一部です。シェルに組み込むことができるインタフェースです。

これはPOSIXプログラマのマニュアルで説明されています。http://www.unix.com/man-page/posix/1posix/eval/

eval - construct command by concatenating arguments

引数を受け入れてコマンドを設定し、シェルによって実行されます。マンページの例は次のとおりです。

foo=10 x=foo    # 1
y='$'$x         # 2
echo $y         # 3
$foo
eval y='$'$x    # 5
echo $y         # 6
10
  1. 最初の行では、$foovalue'10'とvalueを使用して$x定義します'foo'
  2. これで定義すると文字列$yで構成されます'$foo'。ドル記号はエスケープする必要があります'$'
  3. 結果を確認するには、echo $y
  4. 1)-3)の結果は文字列になります。'$foo'
  5. ここで繰り返し割り当てを使用しますeval。まず、$x文字列を評価します'foo'。今、私たちはy=$foo評価されるステートメントを持っていますy=10
  6. 結果はecho $y現在値です'10'

これは、PerlやJavaScriptなどの多くの言語で一般的な機能です。より多くの例については、perldoc evalをチェックしてください。http://perldoc.perl.org/functions/eval.html

おすすめ記事