如果需要更改环境变量,如何直接从URL执行linux脚本?

时间:2015-11-17 09:59:04

标签: linux shell

目标:

  • 单行脚本执行
  • 更改来电者的环境变量

这可能吗?

我知道您可以执行curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash之类的操作,但这并不允许在调用环境中更改环境变量。

2 个答案:

答案 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