【发布时间】:2025-12-14 09:35:02
【问题描述】:
我的目标是通过识别变量名和使用 sed 来替换一些变量的值。
但是,我没有得到想要的输出,实际上是附加值而不是被替换。
输入文件内容:
export TENANT_NAME=xxxx
export WONDER_VALUE=xxx_xxx_xxxx_xxxx
export LOAD_BALANCERS=xxxx_xx
Bash 脚本:
#!/bin/bash
sed "s/${1}=*/${1}=${2}/" input.env >> input.env
命令:
./replaceValue.sh WONDER_VALUE BOB_ROB_ALICE
我得到的结果:
export TENANT_NAME=xxxx
export WONDER_VALUE=BOB_ROB_ALICExxx_xxx_xxxx_xxxx
export LOAD_BALANCERS=xxxx_xx
我期望的结果:
export TENANT_NAME=xxxx
export WONDER_VALUE=BOB_ROB_ALICE
export LOAD_BALANCERS=xxxx_xx
【问题讨论】: