Bash
採購手動工作,但從腳本完成時失敗
使用
curl
如下:bash <(curl -s https://raw.githubusercontent.com/user/repo/master/script.sh | tr -d '\r')
我執行了一些遠端腳本。
遠端腳本包括以下兩個方面:
**1)**命令:
wget -P ~/myAddons/ https://raw.githubusercontent.com/user/repo/master/appendix.sh
2)
source ~/myAddons/appendix.sh
命令:這個文件
appendix.sh
,包括一些 Bash 別名。問題
執行遠端腳本後,我嘗試使用
appendix.sh
. 沒有工作。只有在手動執行之後
source ~/myAddons/appendix.sh
,別名才起作用。
- 我檢查了至少 3 次遠端腳本的
source
命令和手動命令是否相同。問題
為什麼
source ~/myAddons/appendix.sh
直接從遠端腳本執行失敗,而手動執行它,以及解決這個問題的正確方法是什麼?
您正在開始一個新的外殼,
bash <(...)
然後在其中採購。這不會影響您從中執行的原始 shellbash <(...)
。您應該source
改用流程替換:source <(...) # or . <(...)