bash数组无法存储多个文件名

bash数组无法存储多个文件名

我有以下两个文件:

> ls *.ccs.bam
m54105_171201_020331.ccs.bam  m54105_171201_121745.ccs.bam

不幸的是,我未能将它们保护在数组中:

> shopt -s nullglob
> ccs_bams=(*.ccs.bam)
> echo $ccs_bams
m54105_171201_020331.ccs.bam

为什么只打印一个文件?

先感谢您,

答案1

它是储存所有名称,但您只访问第 0 个名称。从man bash

   Referencing an array variable without a subscript is equivalent to ref‐
   erencing  the array with a subscript of 0.  

供参考全部数组的元素作为单独的单词,使用"${ccs_bams[@]}"ex。

printf '%s\n' "${ccs_bams[@]}"

相关内容