You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash脚本新手求助:读取.env变量并在Shell脚本中调用

实现方法

下面提供两种满足需求的方案,你可以根据习惯选择:

方案一:通过Python脚本读取环境变量

1. 编写Read_env.py脚本

创建该文件用于读取.env.development中的Python_env值并输出:

with open('.env.development', 'r') as f:
    for line in f:
        line = line.strip()
        # 跳过空行和注释行
        if line and not line.startswith('#'):
            key, value = line.split('=', 1)
            if key == 'Python_env':
                print(value.strip())
                exit()

2. 修改Master.sh脚本

在脚本中调用Python脚本获取变量值,替换原有的python命令:

# 调用Python脚本获取Python_env的值
PYTHON_CMD=$(python Read_env.py)

# 使用获取到的命令执行uvicorn(替换成你的实际应用参数)
$PYTHON_CMD -m uvicorn your_app:app --reload

方案二:直接用Bash解析.env文件(无需Python脚本)

直接在Master.sh中完成变量读取和命令替换,步骤更简洁:

# 从.env.development中提取Python_env的值
PYTHON_CMD=$(grep '^Python_env=' .env.development | cut -d '=' -f2)

# 容错处理:如果未获取到变量则报错退出
if [ -z "$PYTHON_CMD" ]; then
    echo "错误:未在.env.development中找到Python_env变量"
    exit 1
fi

# 执行uvicorn命令
$PYTHON_CMD -m uvicorn your_app:app --reload

注意事项

  • 确保.env.development中的变量格式正确,比如Python_env=python,不要有多余空格(如Python_env = python)
  • 如果你的系统中Python命令是python3,需将方案一中的python Read_env.py改为python3 Read_env.py
  • 给Master.sh添加执行权限:chmod +x Master.sh,之后可直接运行./Master.sh

内容的提问来源于stack exchange,提问作者Ayush Saxena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:50:26