我想知道有沒有辦法將我的shell變量導出到系統中的所有會話(不僅是當前會話)。我不打算在.bashrc文件中設置它,因爲shell變量是一個動態變量,它隨時間變化。如何將shell變量導出到所有會話?
2
A
回答
2
你不能。更好的解釋可以在unix stackexchange section here找到!
shell變量可能不適合您嘗試實現的用途。也許你想用文件代替。
6
你可以設置你的會話保持在上DEBUG設置陷阱重讀磁盤上的文件的.bashrc
:
trap 'source ~/.myvars' DEBUG
如果離開終端A開放,運行在終端B echo VAR=42 >> ~/.myvars
,然後切換回到終端A和echo $VAR
,它會「神奇地」被設置。
3
您似乎誤解了export
的功能。它所做的只是將一個本地變量移動到該進程中的環境塊中(/proc/$$/environ
)。
當創建一個新進程(一個fork
)時,程序數據區域(包括環境塊)被複制到新進程(實際上它們最初是共享的,然後在寫入時複製)。當運行不同的程序(execve)時,默認情況下,環境塊將保留來自前一個程序。另請參閱env(1)
計劃。
因此,環境變量通常從其父進程繼承(複製)。把一個新的環境變量變成一個正在運行的過程的唯一方法是使用某種接種技術,就像調試器會做的那樣。編寫這樣的程序不是一件容易的事,我相信你可以想象安全性的影響。
+0
'/ proc'中的'environ'條目只反映了進程開始時的環境,並且不會隨着新環境變量的添加/更改而更新。 – 2013-07-02 13:06:57
相關問題
- 1. 將環境變量導出到Makefile shell
- 2. 如何將本地shell變量導出到多命令ssh中?
- 3. 如何將變量導出到Make的'shell'函數?
- 4. GNU Make:如何將SHELL變量導出爲子版本?
- 5. 將shell輸出保存到變量
- 6. 將變量從shell腳本導出到awk
- 7. 將一個變量從PHP導出到shell
- 8. Makefile:如何在目標之前將環境變量導出到shell?
- 9. 如何保存當前python會話中的所有變量?
- 10. 將XML值存儲到會話變量
- 11. 我將如何清除所有導軌會話?
- 12. 您可以將會話質量分數導出到BigQuery嗎?
- 13. Node.js的變量到PHP會話變量
- 14. Tensorflow eval()無會話或將變量移動到其他會話
- 15. 將會話變量作爲數組投射到一個會話
- 16. 如何將shell會話的所有控制檯輸出都發送到日誌文件
- 17. PHP會話變量到期
- 18. 將會話變量添加到入站和出站URL
- 19. 如何將會話變量發送到下一頁?
- 20. 如何將htmltable存儲到會話變量
- 21. 如何將會話中的變量存儲到其他頁面?
- 22. 如何將會話變量合併到jQuery中
- 23. 如何將用戶ID會話變量插入到表
- 24. 如何將PowerShell變量從遠程傳遞到本地會話
- 25. 如何保持會話變量不變?
- 26. 會話變量
- 27. PHP不會在會話中存儲所有變量
- 28. php變量會話變量
- 29. 如何將所有列作爲屬性將DataTable導出到Xml?
- 30. 公共變量作用域是針對所有會話還是每個會話都有其變量副本?
一個創造性的解決方案。儘管你可能想記住在它傳播到你想要的地方後將它移除,或者它會將該變量鎖定到該值。 – Kevin 2013-02-21 14:26:59