如何从linux中的文件中grep和修改环境变量?

Posted

技术标签:

【中文标题】如何从linux中的文件中grep和修改环境变量?【英文标题】:How to grep and modify the environment variable from a file in linux? 【发布时间】:2022-01-01 03:43:01 【问题描述】:
# input file.yaml
conda_name: "test"
user_name: "foo"

如何获取 user_name 变量并导出到本地环境变量(无需安装额外的软件包)?我不知道如何导出变量

# where I am stuck
 grep 'user_name:' file.yaml | sed 's/:/=/g'
# export the variable

请随意使用您认为最好的方法。 谢谢!

【问题讨论】:

【参考方案1】:

您可以在一个简单的bash 循环中执行此操作:

while IFS=': ' read -r k v; do
   [[ $k = "user_name" ]] && declare -x $k="$v//\"/"
done < file

echo "user_name"

foo

declare -x $k="$v//\"/" 导出一个名为$k 的变量,即user_name$v//\"/ 去除输入文件中出现在 foo 周围的双引号。

【讨论】:

以上是关于如何从linux中的文件中grep和修改环境变量?的主要内容,如果未能解决你的问题,请参考以下文章