$ # 環境中已存在環境變數 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...