数组 – 在元素中具有空格的BASH数组
发布时间:2020-12-15 16:48:55 所属栏目:安全 来源:网络整理
导读:我试图在我的相机的文件名的bash-shell中构造一个数组: FILES=(2011-09-04 21.43.02.jpg2011-09-05 10.23.14.jpg2011-09-09 12.31.16.jpg2011-09-11 08.43.12.jpg) 正如你可以看到,在每个文件名的中间有一个空格。 我试过用引号包装每个名称,并用反斜杠转
我试图在我的相机的文件名的bash-shell中构造一个数组:
FILES=(2011-09-04 21.43.02.jpg 2011-09-05 10.23.14.jpg 2011-09-09 12.31.16.jpg 2011-09-11 08.43.12.jpg) 正如你可以看到,在每个文件名的中间有一个空格。 当我尝试访问数组元素时,它继续将该空间当作元素分隔符。 如何正确地捕获名称中带有空格的文件名?
我认为这个问题可能部分是由你如何访问的元素。如果我在$ FILES中为elem做一个简单的,我遇到了和你一样的问题。但是,如果我通过它的索引访问数组,像这样,如果我添加元素数字或转义:
for ((i = 0; i < ${#FILES[@]}; i++)) do echo "${FILES[$i]}" done 任何这些声明的$ FILES应该工作: FILES=(2011-09-04 21.43.02.jpg 2011-09-05 10.23.14.jpg 2011-09-09 12.31.16.jpg 2011-09-11 08.43.12.jpg) 要么 FILES=("2011-09-04 21.43.02.jpg" "2011-09-05 10.23.14.jpg" "2011-09-09 12.31.16.jpg" "2011-09-11 08.43.12.jpg") 要么 FILES[0]="2011-09-04 21.43.02.jpg" FILES[1]="2011-09-05 10.23.14.jpg" FILES[2]="2011-09-09 12.31.16.jpg" FILES[3]="2011-09-11 08.43.12.jpg" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容