我想更改shell腳本中的路徑環境變量。 執行shell腳本後,應修改路徑變量。在shell腳本中更改父shell的路徑變量
3
A
回答
1
您需要腳本來源而不是執行它。
. script.sh
或
source script.sh
裏面要麼出口這足以腳本的OD剛纔設置的變量。
腳本執行時,它運行在單獨的shell進程中,並且不能輕易更改父shell的變量。
更多在這裏:Can a shell script set environment variables of the calling shell?
8
有兩種方法,我知道做到這一點。首先是用其中一種運行在當前shell的上下文中的腳本:
. myscript.sh
source myscript.sh
但運行污染與各種東西在當前shell的風險。
我更喜歡信息泄漏量最小的解決方案。這意味着仍然在運行它作爲一個子shell,但輸出上statndard輸出的新路徑:
PATH=$(myscript.sh)
這個方法是一個更好的一個,因爲路徑是唯一事情可以由子shell的影響,但你必須要小心這個subshell輸出的內容。
相關問題
- 1. 在shell腳本中使用存在命令的路徑變量
- 2. 在shell中使用變量的路徑
- 3. Shell腳本變量
- 4. 作爲shell腳本中變量的命令路徑
- 5. 修改出口變量在shell腳本
- 6. 的Bash shell腳本變量
- 7. 帶變量的Shell腳本
- 8. 如何從子shell腳本中導出庫路徑並在父shell中使用該路徑?
- 9. 空間路徑在shell腳本
- 10. 需要在shell腳本中將$ 1值更改爲$ 1變量
- 11. Shell腳本:使用變量定義路徑
- 12. Shell腳本執行但不會將更改註冊到路徑
- 13. Shell腳本變量錯誤?
- 14. Shell腳本變量值
- 15. shell腳本變量替換
- 16. Shell腳本變量操縱
- 17. Shell腳本變量問題
- 18. 變量,$價值shell腳本
- 19. 從shell腳本讀取變量的shell腳本
- 20. 從子shell腳本中的函數退出到父shell腳本
- 21. 在Shell腳本中驗證變量
- 22. 在shell腳本中使用makefile變量
- 23. 在shell腳本中分配變量
- 24. 在shell腳本中使用變量sed
- 25. 變量未在shell腳本中識別
- 26. 在shell腳本中重複變量
- 27. 在shell腳本中擴展變量
- 28. 訪問和更新其他腳本中的shell腳本變量
- 29. shell腳本shebang for unknown路徑
- 30. 引用shell腳本路徑到Python
明顯的第三種方式是「eval」,儘管這與採購一樣危險。例如,公共終端設置實用程序「tset」輸出供調用外殼進行評估的命令。 – 2010-11-05 03:07:30