簡體   English   中英

如果需要更改環境變量,如何直接從URL在Linux上執行Shell腳本?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM