Shell eval通過變量獲取環(huán)境變量的方法實(shí)現(xiàn)
場(chǎng)景
- 系統(tǒng)中存在環(huán)境變量 USER=iceber
- 腳本中存在一個(gè)變量 env_name=USER
- 需要通過變量 env_name 獲取到環(huán)境變量 USER 的值
錯(cuò)誤示例
$ # 環(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)變量的值
到此這篇關(guān)于Shell eval通過變量獲取環(huán)境變量的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Shell eval獲取環(huán)境變量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
shell腳本實(shí)戰(zhàn)-while循環(huán)語(yǔ)句
這篇文章主要介紹了shell腳本實(shí)戰(zhàn)-while循環(huán)語(yǔ)句,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Linux Shell循環(huán)中實(shí)現(xiàn)展示進(jìn)度百分比的實(shí)現(xiàn)方法
這篇文章主要介紹了Linux Shell循環(huán)中實(shí)現(xiàn)展示進(jìn)度百分比的實(shí)現(xiàn)方法的相關(guān)資料,這里提供實(shí)現(xiàn)方法及實(shí)例,需要的朋友可以參考下2017-08-08Shell內(nèi)置命令教程之a(chǎn)lias和echo
我們?nèi)粘J褂胹hell輸入命令得到結(jié)果的方式是交互式的方式,而shell腳本使用的是非交互式方式,shell提供了alias功能來簡(jiǎn)化我們的日常操作,下面這篇文章主要給大家介紹了關(guān)于Shell內(nèi)置命令教程之a(chǎn)lias和echo的相關(guān)資料,需要的朋友可以參考下2022-03-03linux shell中 if else以及大于、小于、等于邏輯表達(dá)式介紹
在linux shell編程中,大多數(shù)情況下,可以使用測(cè)試命令來對(duì)條件進(jìn)行測(cè)試,這里簡(jiǎn)單的介紹下,方便需要的朋友2013-02-02很實(shí)用的Linux 系統(tǒng)運(yùn)維常用命令及常識(shí)(超實(shí)用)
作為L(zhǎng)inux運(yùn)維,需要了解Linux操作系統(tǒng)的基本使用和管理知識(shí),下面腳本之家小編給大家介紹下Linux運(yùn)維需要掌握的命令,想成為L(zhǎng)inux運(yùn)維的朋友可以來學(xué)習(xí)一下2016-10-10Linux oracle數(shù)據(jù)庫(kù)自動(dòng)備份自動(dòng)壓縮腳本代碼
這篇文章主要介紹了Linux oracle數(shù)據(jù)庫(kù)備份完成后可以自動(dòng)壓縮腳本代碼,大家參考使用2013-12-12Linux命令學(xué)習(xí)之用戶切換su,sudo命令詳解
在操作過程中需要使用特定的用戶進(jìn)行特定的操作,多數(shù)情況下是因?yàn)闄?quán)限,比如要修改一個(gè)文件,只有root用戶有權(quán)限修改,那么就要切換到root用戶下進(jìn)行操作,本文給大家講解Linux命令學(xué)習(xí)之用戶切換su,sudo命令,感興趣的朋友跟隨小編一起看看吧2023-02-02