我想知道有沒有辦法將我的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. 如何將變量導出到Make的'shell'函數?
- 3. 如何將本地shell變量導出到多命令ssh中?
- 4. ASP.NET:如何刪除所有用戶的所有會話變量?
- 5. 在shell中導出變量
- 6. 如何將JavaScript變量存儲到php會話變量中?
- 7. 如何將JavaScript變量保存到會話變量中?
- 8. 如何清除所有會話變量而不會被註銷
- 9. GNU Make:如何將SHELL變量導出爲子版本?
- 10. 如何列出IEx中的所有shell變量?
- 11. 將shell輸出保存到變量
- 12. 如何在Nodejs中的文件之間導出會話變量?
- 13. 將一個變量從PHP導出到shell
- 14. 將變量從shell腳本導出到awk
- 15. 如何將bash變量從提示中的函數導出到父shell?
- 16. Makefile:如何在目標之前將環境變量導出到shell?
- 17. 如何清除所有會話變量,當我註銷mvc4?
- 18. 如何保存當前python會話中的所有變量?
- 19. 試圖使用會話變量導出一個gridview到Excel
- 20. 將會話從WinSCP導出到FileZilla
- 21. 如何在vC++ express 2008中檢查變量,拋出所有調試會話?
- 22. 我將如何清除所有導軌會話?
- 23. 將會話變量添加到自身
- 24. 將會話變量分配到DetailsView中
- 25. 將XML值存儲到會話變量
- 26. 如何將shell腳本的輸出存儲到變量中
- 27. 如何在預期會話中使用shell變量?
- 28. Php captcha會話變量沒有找到
- 29. 您可以將會話質量分數導出到BigQuery嗎?
- 30. 如何將遠程PowerShell會話的變量返回到本地PowerShell會話
一個創造性的解決方案。儘管你可能想記住在它傳播到你想要的地方後將它移除,或者它會將該變量鎖定到該值。 – Kevin 2013-02-21 14:26:59