linuxコマンドのeval

1456 ワード

eval構文:eval command-line command-line:端末に入力するコマンドラインです.次のようになります.
$ eval pwd
/home/gino

evalは、コマンドの実行前にコマンドを2回スキャンし、1回目は変数の置換を行い、2回目は置換後のコマンドで実行します.
$ a=10
$ b=a
$ echo $b
a
$ echo \$$b
$a
$ eval echo \$$b  
10

##eval echo \$$b  
##    \$$b     $a
##      echo $a
$ a1=hello
$ b=1
$ echo $a$b  ##  $a$b 1   1 
$ eval echo '$'a$b   ##      eval echo $a1