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

如何在Bash脚本中使用文本文件中的变量

解决无法读取配置文件中变量的问题

你当前的脚本只是把文件内容读取到了一个字符串变量里,并没有让Shell解析并加载这些变量定义,所以自然无法直接使用$Clusterabr这类变量。下面是两种可行的解决方法:

方法一:直接加载配置文件(推荐)

首先修正你的dev.txt文件格式,Shell变量定义要求=前后不能有空格,把文件里等号后面的空格去掉,修改后内容如下:

location="centralus"
location_abr="cus"
client_name="fair"
client_name_prefix="f"
resource_group_postfix="rg"
project_name="OTOZ"
environment_name="devtest"
instance="04"
Clusterabr="aks"

然后在脚本中使用source或.命令加载这个文件,文件里的变量会被当前Shell环境识别:

#!/bin/sh
# 加载配置文件
source dev.txt
# 直接使用变量
echo "$Clusterabr"
echo "$location"

方法二:不修改原文件,动态处理格式

如果不想修改原文件,可以用sed去掉等号后面的空格,再通过eval让Shell解析变量定义:

#!/bin/sh
# 处理配置文件格式并加载变量
eval "$(sed 's/=\s*/=/g' dev.txt)"
# 验证变量是否可用
echo "$Clusterabr"

注意事项

  • Shell变量定义的语法要求=前后不能有空格,这是你原本无法加载变量的核心原因之一;
  • 使用eval时要确保配置文件内容安全,避免包含恶意命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:01:03