這篇文章主要講解了“Shell eval怎么用變量獲取環(huán)境變量”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Shell eval怎么用變量獲取環(huán)境變量”吧!
創(chuàng)新互聯(lián)公司自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個(gè)性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營(yíng)銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗(yàn)、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團(tuán)隊(duì)及專業(yè)的網(wǎng)站設(shè)計(jì)師團(tuán)隊(duì)。系統(tǒng)中存在環(huán)境變量 USER=iceber
腳本中存在一個(gè)變量 env_name=USER
需要通過變量 env_name 獲取到環(huán)境變量 USER 的值
$ # 環(huán)境中已存在環(huán)境變量 USER $ env_name=USER $ echo ${$env_name} ${$env_name}: bad substitution
很顯然,直接使用 $ 嵌套來獲取值是行不通的
$ # 環(huán)境中已存在環(huán)境變量 USER $ env_name=USER $ eval echo '$'$env_name icebergu
eval 先將對(duì)參數(shù)進(jìn)行變量的替換,然后再將參數(shù)作為命令執(zhí)行
eval echo '$'$env_naem
首先會(huì)將 $env_name 替換成 USER,這時(shí)會(huì)和前邊的'$'組成字符串$USER,現(xiàn)在的命令實(shí)際已經(jīng)變成了eval echo $USER
然后 eval 再執(zhí)行 echo $USER,這樣就完成了環(huán)境變量的獲取
根據(jù)上邊的解析會(huì)發(fā)現(xiàn),命令其實(shí)可以寫成 eval echo \$$env_name 也是可以的
同理,如果一個(gè)變量存的的其他變量的名字,使用 eval 也可以獲取到相應(yīng)變量的值
感謝各位的閱讀,以上就是“Shell eval怎么用變量獲取環(huán)境變量”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Shell eval怎么用變量獲取環(huán)境變量這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!