eval
このコマンドで何ができますか?なぜ便利ですか? bashに組み込まれた機能ですか?man
そのページはありません..
ベストアンサー1
eval
POSIXの一部です。シェルに組み込むことができるインタフェースです。
これは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
- 最初の行では、
$foo
value'10'
とvalueを使用して$x
定義します'foo'
。 - これで定義すると文字列
$y
で構成されます'$foo'
。ドル記号はエスケープする必要があります'$'
。 - 結果を確認するには、
echo $y
。 - 1)-3)の結果は文字列になります。
'$foo'
- ここで繰り返し割り当てを使用します
eval
。まず、$x
文字列を評価します'foo'
。今、私たちはy=$foo
評価されるステートメントを持っていますy=10
。 - 結果は
echo $y
現在値です'10'
。
これは、PerlやJavaScriptなどの多くの言語で一般的な機能です。より多くの例については、perldoc evalをチェックしてください。http://perldoc.perl.org/functions/eval.html