arrays - 使用逗号和单引号连接数组元素 - Bash

标签 arrays bash ifs

如何在 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/

相关文章:

bash - 读 -N 和 IFS

Java:文件到字符串,使用缓冲区的问题,字节数组不干净

javascript - 合并和求和值并将它们放入数组中

linux - 如何知道我的终端的默认 shell 进程?

macos - 如何在 Mac OSX Mountain Lion 中升级 Bash 并将其设置为正确的路径?

linux - 我们什么时候应该在脚本中将 IFS 变量改回其原始值?

arrays - 什么时候将 IFS 设置为 Bash 中的换行符?

php - 重置 MySqli 指针?

arrays - 如何将数组数组转换为矩阵?

bash - shell 脚本 : Using xargs to execute parallel instances of a shell function