在文件名中使用ls和space进行迭代

 蔡心怡湖人永蓉 发布于 2023-02-13 09:20

我在Ubuntu上使用bash,我在一个文件夹中有一些文件,有些文件名称中有空格,其他非文件.

我想要一个带文件名的数组.示例:[foo.txt,我是file.txt,bar.jpg等]

我的代码:

for x in "$(ls -1 test/)"; do 
    fileList+=($x)
done

我得到:[foo.txt,我,上午,a,file.txt,bar.jpg等]

如果我把fileList+=("$x")我得到一个行数组[foo.txt我是file.txt bar.jpg等].

我该怎么做才能得到我想要的东西?

谢谢.

1 个回答
  • 为什么不使用shell globs?例如

    for x in test/*; do
         ...
    

    要么

    filelist=( test/* )
    

    编辑:

    shopt -s nullglob
    shopt -s dotglob
    

    可能也想要.

    2023-02-13 09:25 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有