如何在bash数组元素中转义引号

时间:2019-06-19 20:22:19

标签: arrays bash escaping quotes

我想创建一个像这样的数组

array=(

"element1 with "quoted string""
"element2 without double quoted string"
"element3"
)

运行代码后,它输出

echo ${array[0]}                                                               
element1 with quoted.

我试图在回显的输出中包括引号。我该怎么做?

1 个答案:

答案 0 :(得分:1)

使用单引号

array=(
'element1 with "quoted string"'
...
)

或在字面双引号中转义:

array=(
"element1 with \"quoted string\""
...
)

您的第一个嵌套引号会关闭开头的引号,但是quoted仍被视为当前单词的一部分。数组的下一个元素是string,并在其末尾附加了空字符串。