我想更改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. 的Bash shell腳本變量
- 4. Shell腳本變量錯誤?
- 5. 變量,$價值shell腳本
- 6. Shell腳本變量值
- 7. Shell腳本變量問題
- 8. 變量未在shell腳本中識別
- 9. 在shell腳本中使用變量sed
- 10. 在shell腳本中擴展變量
- 11. 在Shell腳本中驗證變量
- 12. 在shell腳本中分配變量
- 13. 訪問和更新其他腳本中的shell腳本變量
- 14. shell腳本shebang for unknown路徑
- 15. 查找根路徑,shell腳本
- 16. 使shell腳本更改腳本位置
- 17. 存儲()在UNIX shell腳本的變量
- 18. shell腳本中的Automator變量
- 19. shell腳本中的全局變量?
- 20. RHEL環境變量路徑到Mongo Shell
- 21. 更改AWK條件塊內的Shell腳本變量值
- 22. 使用shell腳本設置路徑精確 - 使用shell精華
- 23. 更改父shell的目錄
- 24. 在bash shell腳本中啓動動態變量(變量變量)
- 25. 從shell腳本中的變量運行shell命令
- 26. 如何在shell腳本中回顯包含路徑的文本
- 27. 環境變量不會在shell腳本
- 28. 這是使用變量在shell腳本
- 29. 傳遞變量在shell腳本
- 30. 變量不是在shell腳本
明顯的第三種方式是「eval」,儘管這與採購一樣危險。例如,公共終端設置實用程序「tset」輸出供調用外殼進行評估的命令。 – 2010-11-05 03:07:30