要将包含字符串的数组转换为实际的数组,可以使用eval
函数。以下是一个示例代码:
#!/bin/bash
# 定义包含字符串的数组
array=("apple" "banana" "cherry")
# 将数组转换为字符串
array_string=$(printf "%s," "${array[@]}")
array_string=${array_string%,} # 移除最后一个逗号
# 使用eval将字符串转换为数组
eval "new_array=($array_string)"
# 打印转换后的数组
for item in "${new_array[@]}"; do
echo "$item"
done
运行上述代码将输出:
apple
banana
cherry
在这个示例中,我们首先定义了一个包含字符串的数组array
。然后,我们使用printf
函数将数组转换为一个以逗号分隔的字符串。接下来,我们使用eval
函数将字符串转换为实际的数组new_array
。最后,我们使用for
循环遍历并打印转换后的数组中的每个元素。