2

我正在尝试找到一种方法来从我正在编写的脚本中的数组的所有元素中删除双引号。到目前为止,我发现的所有示例要么使用 grep、awk、sed 对整个文件执行此操作,要么不使用 bash。

这是我到目前为止的代码块:

vol_filter=( $(aws ec2 describe-volumes --filter "name=attachment.instance-id, values=instance-id" | jq '[.Volumes[] | {VolumeId}]') )
vol_id_array=( )
regex=[[:alpha:]][-][[:xdigit:]]
for i in ${vol_filter[@]}
do
  if [[ $i =~ $regex ]]
  then
    vol_id_array+=( $i )
    echo ${vol_id_array[@]}
  fi
done

我现在从运行脚本得到的输出是

“foo-bar” “herp-derp”

我想要的是

foo-bar herp-derp

4

1 回答 1

3

只需将该作业更改为

vol_id_array+=( "${i//\"}" )

参数扩展将导致 $i 在添加到数组时被扩展,其中没有任何引号。

于 2013-08-01T17:16:28.357 回答