目标:
这可能吗?
我知道您可以执行curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
之类的操作,但这并不允许在调用环境中更改环境变量。
答案 0 :(得分:2)
您可以将process substitution与. <(curl https://www.server.com/env.sh)
(来源)命令一起使用:
env.sh
这会将export
中的所有变量,别名和函数定义导入到正在运行的shell的范围内。但是,它不会隐式将变量导出到环境中。要实现此目的,必须在env.sh
或调用shell中显式调用export FOO="test"
。像这样:
~/Content/Images/
答案 1 :(得分:1)
普通环境变量永远不会导出到子进程。
您要么必须明确地export
它们,要么通过在调用之前添加它的定义来告诉调用shell提供给定的环境变量:
curl -o- ${URL2SCRIPT} | FOO="test1" bash