,可以通过以下步骤实现:
read
和IFS
(Internal Field Separator)来实现。假设字符串为str="var1=value1 var2=value2 var3=value3"
,可以使用以下代码将其分割为多个变量:IFS=' ' read -ra vars <<< "$str"
这将把字符串按空格分割,并将每个变量存储在数组vars
中。
=
作为分隔符将每个变量分割为名称和值。然后,将它们存储在关联数组中,其中名称作为键,值作为对应的值。以下是示例代码:declare -A parsed_vars
for var in "${vars[@]}"; do
IFS='=' read -r name value <<< "$var"
parsed_vars["$name"]="$value"
done
这将解析每个变量,并将其存储在关联数组parsed_vars
中。
完成上述步骤后,你将得到一个包含解析后变量的关联数组parsed_vars
,其中每个变量的名称作为键,对应的值作为值。你可以根据需要进一步处理这些变量,例如将它们添加到其他数组中或执行其他操作。
请注意,以上代码仅适用于Bash环境,并假设字符串中的变量以name=value
的形式出现,并且名称和值之间没有空格。如果字符串的格式不同,你可能需要根据实际情况进行修改。
领取专属 10元无门槛券
手把手带您无忧上云