[英]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窗口)
要影響全局,您應該將變量保存在.bashrc
和source .bashrc
等文件中以使其生效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.