新聞中心
這篇文章主要講解了“Shell eval怎么用變量獲取環(huán)境變量”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Shell eval怎么用變量獲取環(huán)境變量”吧!
場景
系統(tǒng)中存在環(huán)境變量 USER=iceber
腳本中存在一個變量 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 先將對參數(shù)進(jìn)行變量的替換,然后再將參數(shù)作為命令執(zhí)行
eval echo '$'$env_naem
首先會將 $env_name 替換成 USER,這時會和前邊的'$'組成字符串$USER,現(xiàn)在的命令實(shí)際已經(jīng)變成了eval echo $USER
然后 eval 再執(zhí)行 echo $USER,這樣就完成了環(huán)境變量的獲取
根據(jù)上邊的解析會發(fā)現(xiàn),命令其實(shí)可以寫成 eval echo \$$env_name 也是可以的
同理,如果一個變量存的的其他變量的名字,使用 eval 也可以獲取到相應(yīng)變量的值
感謝各位的閱讀,以上就是“Shell eval怎么用變量獲取環(huán)境變量”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Shell eval怎么用變量獲取環(huán)境變量這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
文章名稱:Shelleval怎么用變量獲取環(huán)境變量-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://www.dlmjj.cn/article/iidpd.html