eval
で何ができるか 指図?なぜそれが役立つのですか?それはbashに組み込まれている関数のようなものですか? man
はありません そのためのページ..
承認された回答:
eval
POSIXの一部です。シェルを組み込むことができるインターフェースです。
「POSIXプログラマーズマニュアル」で説明されています:http://www.unix.com/man-page/posix/1posix/eval/
eval - construct command by concatenating arguments
引数を取り、そのコマンドを作成します。これはシェルによって実行されます。これはマンページの例です:
1) foo=10 x=foo
2) y='$'$x
3) echo $y
4) $foo
5) eval y='$'$x
6) echo $y
7) 10
- 最初の行で
$foo
を定義します 値が'10'
および$x
値が'foo'
。 - ここで
$y
を定義します 、文字列'$foo'
で構成されます 。ドル記号は'$'
でエスケープする必要があります 。 - 結果を確認するには、
echo $y
。 - 結果は文字列
'$foo'
になります - ここで、
eval
を使用して割り当てを繰り返します。 。最初に$x
を評価します 文字列'foo'
に 。これで、ステートメントy=$foo
ができました。y=10
に評価されます 。 -
echo $y
の結果 値は'10'
になりました 。
これは多くの言語で一般的な機能です。 PerlとJavaScript。
その他の例については、perldoc evalをご覧ください:http://perldoc.perl.org/functions/eval.html