如何在 Bash 中转换带有单引号和逗号的数组元素。
arr=("element1" "element2" "element3")
#element1 element2 element3
期望的结果
'element1','element2','element3'
来自 Martin Clayton answer 逗号分隔值是使用 IFS 实现的,
SAVE_IFS="$IFS"
IFS=","
ARRJOIN="${arr[*]}"
IFS="$SAVE_IFS"
echo "$ARRJOIN"
#element1,element2,element3
但是如何给每个元素加上单引号。
最佳答案
[akshay@localhost tmp]$ arr=("element1" "element2" "element3")
[akshay@localhost tmp]$ joined=$(printf ",'%s'" "${arr[@]}")
[akshay@localhost tmp]$ echo ${joined:1}
'element1','element2','element3'
关于arrays - 使用逗号和单引号连接数组元素 - Bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45796762/