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

How to grep and modify the environment variable from a file in linux?

# 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

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

您可以在一个简单的 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.

附近的双引号