Arrays 猛击如何在中同时插入“and”

Arrays 猛击如何在中同时插入“and”,arrays,bash,Arrays,Bash,我的bash脚本中有一个数组。我需要同时插入两个配额符号this和this' 我的剧本 arr=(1 2 3) for i in ${arr[@]} do darr+=("'${arr[$i]}',") echo "${darr[@]}" done 此脚本的结果 '1', '2', '3', 但我需要一个稍微不同的结果,比如: "'1'", "'2'", "'3'", 我尝试了这种

我的bash脚本中有一个数组。我需要同时插入两个配额符号this和this'

我的剧本

arr=(1 2 3)
for i in ${arr[@]}
do 
  darr+=("'${arr[$i]}',")
  echo "${darr[@]}"
done
此脚本的结果

'1', '2', '3',
但我需要一个稍微不同的结果,比如:

"'1'", "'2'", "'3'",
我尝试了这种构造darr+=\'${arr[$I]}'\\,但结果是:

\"'1'\", \"'2'\", \"'3'\",


尝试下一个:

#!/usr/bin/env bash

arr=(1 2 3)
for i in "${arr[@]}"; do
  darr+=("\"'$i'\"")
  echo "${darr[@]}"
done
结果是:

"'1'" "'2'" "'3'"

尝试下一个:

#!/usr/bin/env bash

arr=(1 2 3)
for i in "${arr[@]}"; do
  darr+=("\"'$i'\"")
  echo "${darr[@]}"
done
结果是:

"'1'" "'2'" "'3'"

您实际上不需要循环,只需使用printf:

arr=1 2 3 printf-v str\'%s',${arr[@]} echo$str '1', '2', '3',
您实际上不需要循环,只需使用printf:

arr=1 2 3 printf-v str\'%s',${arr[@]} echo$str '1', '2', '3',
不相关,但i是所需数组中的值,而不是索引。此外,无法使用显示的代码进行复制;输出中没有反斜杠。不相关,但i是所需数组中的值,而不是索引。此外,无法使用显示的代码进行复制;输出中没有反斜杠。