使用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
直接从远程脚本执行会失败,而手动执行却可以,正确的处理方法是什么?
您正在启动一个新的 shell,
bash <(...)
然后在其中进行采购。这不会影响您运行的原始 shellbash <(...)
。您应该source
改用流程替换: