Shell eval通過變數獲取環境變數的方法實現

2022-09-26 13:21:44 字數 395 閱讀 3265

$ # 環境中已存在環境變數 user

$ env_name=user

$ echo $

$: bad substitution

很顯然,直接使用 $ 巢狀來獲取值是行不通的

$ # 環境中已存在環境變數 user

$ env_name=user

$ eval echo '$'$env_name

icebergu

eval 先將對引數進行變數的替換,然後再將引數作為命令執行

eval echo '$'$env_naem

根據上邊的解析會發現,命令其實可以寫成 eval echo \$$env_name 也是可以的

同理,如果乙個變數存的的其他變數的名字,使用 e程式設計客棧val 也可以獲取到相應變數的值

Python通過位址獲取變數

類似於c c 中令乙個指標指向乙個變數的位址,通過解引用可以得到變數的值。利用ctypes模組在python中實現類似的功能 import ctypes value hello world 定義乙個字串變數 address id value 獲取value的位址,賦給address get valu...

通過反射獲取,修改物件變數

最近工作不是太忙,就把自己的筆記整理出來,分享一下。這個是通過反射獲取修改物件變數的,有需要的可以看看,大神繞道 反射遍歷修改變數 field fidles map.get object.getmsgid getclass getdeclaredfields field fidlesother ob...

通過成員變數位址獲取結構體位址

linux中有乙個巨集 define container of ptr,type,member 實現略實現了通過成員變數位址獲取結構體位址的功能。今天我想好好想想這個實現的原理是怎麼來的。先定義乙個結構體吧 typedef struct abc 再來設計乙個函式用來實現功能 int main voi...