[英]How can I execute a shell script on linux directly from a URL if it needs to change environment variables?
目標:
這可能嗎?
我知道您可以做類似curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
,但這不允許在調用環境中更改環境變量。
您可以將流程替換與一起使用.
( source )命令:
. <(curl https://www.server.com/env.sh)
這會將來自env.sh
所有變量,別名和函數定義導入正在運行的shell的范圍內。 但是,它不會將變量隱式導出到環境。 要實現此export
,必須在env.sh
或調用shell中顯式調用它。 像這樣:
export FOO="test"
普通環境變量將永遠不會導出到子進程。 您要么顯式export
它們,要么通過在調用之前添加其定義來告訴調用Shell提供給定的環境變量:
curl -o- ${URL2SCRIPT} | FOO="test1" bash
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.