簡體   English   中英

如何從導出環境變量的npm腳本運行bash腳本

[英]How to run bash script from npm script that exports environment variables

我有一個包含以下腳本的package.json:

"scripts": {
  "config": ". ./setup.sh"
},

setup.sh文件提示用戶輸入API令牌,

read -p "Enter API Authorization Token: " val
export API_AUTH_TOKEN=$val

以及通過PS3菜單的環境。 例如:輸入1應該導出DEFAULT_ENV =' http:// localhost:8000 '。

當我通過終端(./setup.sh)運行這個setup.sh時,效果很好。 只有當我運行“npm run config”時,它才會實際導出這些值,盡管它的行為與它一樣。 我認為這與此腳本是另一個流程的流程有關,因此不會影響全局環境。 我如何做到這一點呢?

這是因為導出僅適用於子進程及其自身。

您可以編輯文件,添加行以查看它:

read -p "Enter API Authorization Token: " val
export API_AUTH_TOKEN=$val
echo $API_AUTH_TOEKEN

實際上它永遠不會影響父進程(如shell窗口)

要影響全局,您應該將變量保存在.bashrcsource .bashrc等文件中以使其生效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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