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

如何通过Shell脚本从用户输入更新.env文件中的特定域名内容

实现Shell脚本更新.env文件中的域名条目

以下是满足需求的Shell脚本,它会提示用户输入域名,然后自动更新.env文件里APP_HOST、API_HOST、MESH_HOST三行中的域名部分:

#!/bin/bash

# 提示用户输入目标域名
read -p "请输入要替换的域名(例如:example.com): " NEW_DOMAIN

# 检查用户是否输入了有效内容
if [[ -z "$NEW_DOMAIN" ]]; then
    echo "错误:域名不能为空,请重新运行脚本并输入有效域名。"
    exit 1
fi

# 原地更新.env文件,同时创建备份文件.env.bak
sed -i.bak -e '/^APP_HOST=/s/yourdomain.com/'"$NEW_DOMAIN"'/' \
           -e '/^API_HOST=/s/yourdomain.com/'"$NEW_DOMAIN"'/' \
           -e '/^MESH_HOST=/s/yourdomain.com/'"$NEW_DOMAIN"'/' .env

# 提示操作完成
echo "已成功更新.env文件中的域名条目!"
echo "原文件已备份为.env.bak"

关键部分说明

  • read -p:向用户显示提示信息并读取输入内容,存入NEW_DOMAIN变量
  • 空值检查:避免用户输入空域名导致无效替换
  • sed -i.bak:-i实现原地修改文件,.bak指定生成原文件备份(防止误操作丢失数据)
  • 多个-e选项:分别针对三个HOST条目执行替换,正则/^APP_HOST=/确保只匹配指定前缀开头的行,避免误改其他内容

使用方法

  1. 将代码保存为update_domain.sh
  2. 赋予执行权限:chmod +x update_domain.sh
  3. 在.env文件所在目录运行脚本:./update_domain.sh

内容的提问来源于stack exchange,提问作者Jordan Matthew Farmer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 14:52:08