Apa yang dapat Anda lakukan dengan eval memerintah? Mengapa berguna? Apakah ini semacam fungsi bawaan di bash? Tidak ada man halaman untuk itu..
Jawaban yang Diterima:
eval adalah bagian dari POSIX. Ini adalah antarmuka yang dapat berupa shell built-in.
Ini dijelaskan dalam "Panduan Programmer POSIX":http://www.unix.com/man-page/posix/1posix/eval/
eval - construct command by concatenating arguments
Ini akan mengambil argumen dan membuat perintahnya, yang akan dieksekusi oleh shell. Ini adalah contoh halaman manualnya:
1) foo=10 x=foo
2) y='$'$x
3) echo $y
4) $foo
5) eval y='$'$x
6) echo $y
7) 10
- Pada baris pertama Anda mendefinisikan
$foodengan nilai'10'dan$xdengan nilai'foo'. - Sekarang tentukan
$y, yang terdiri dari string'$foo'. Tanda dolar harus diloloskan
dengan'$'. - Untuk memeriksa hasilnya,
echo $y. - Hasilnya akan menjadi string
'$foo' - Sekarang kita ulangi tugas dengan
eval. Ini pertama-tama akan mengevaluasi$xke string'foo'. Sekarang kita memiliki pernyataany=$fooyang akan dievaluasi menjadiy=10. - Hasil dari
echo $ysekarang nilainya'10'.
Ini adalah fungsi umum dalam banyak bahasa, mis. Perl dan JavaScript.
Lihat perldoc eval untuk contoh lainnya:http://perldoc.perl.org/functions/eval.html