特殊命令eval的用法兩例

2021-09-03 04:18:42 字數 821 閱讀 5168

原問題來自:

如何使用變數作為陣列名?  

補充 : 2小時前

[23 root@lvs01 ~]# a=1

[24 root@lvs01 ~]# array1=(a b c)

[25 root@lvs01 ~]# echo $

-bash: $: bad substitution

解答:

案例1:

[oldboy@oldboy ~]$ a=oldboy

[oldboy@oldboy ~]$ oldboy1=test

[oldboy@oldboy ~]$ echo "$`echo $a`1"

$oldboy1

[oldboy@oldboy ~]$ eval echo "$`echo $a`1"

test

本題正式解答:

[oldboy@oldboy ~]$ a=1

[oldboy@oldboy ~]$ array1=(a b c)                    

[oldboy@oldboy ~]$ echo $

-bash: $: bad substitution

[oldboy@oldboy ~]$ echo $\   

$[oldboy@oldboy ~]$ eval echo $\

a b c

看過這兩個案例的人就了解了eval的作用了,這個知識點在老男孩教育運維班課程提過,可能屬於比較偏的知識吧,不過有時起大作用這個命令。

另乙個提到eval命令的博文!

linux下set和eval的使用小案例精彩解答(特殊位置變數用法)

特殊命令eval的用法兩例

原問題來自 如何使用變數作為陣列名?補充 2小時前 23 root lvs01 a 1 24 root lvs01 array1 a b c 25 root lvs01 echo bash bad substitution解答 案例1 oldboy oldboy a oldboy oldboy ol...

linux命令eval的用法

1.eval command line 其中 command line 是在終端上鍵入的一條普通命令列。然而當在它前面放上 eval 時,其結果是 shell 在執行命令列之前掃瞄它兩次。如 pipe eval ls pipe wc l shell第1 次掃瞄命令行時,它替換出 pipe 的值 接著...

linux命令eval的用法

1.eval command line 其中command line是在終端上鍵入的一條普通命令列。然而當在它前面放上eval時,其結果是shell在執行命令列之前掃瞄它兩次。如 pipe eval ls pipe wc l shell第1次掃瞄命令行時,它替換出pipe的值 接著eval使它再次掃...