s1978256 发表于 2023-12-02 21:26

目录下的文件名含中文及空格,如何把目录下所有的文件名赋值给数组变量?

linux一个目录下的文件名包含有中文及空格等特殊字符,如何用一个数组变量存储目录下所有的文件名?使用array=$(ls *),会把有空格的文件名,以空格分割为两个文件名.

本友会机友会摄友会 发表于 2023-12-26 08:58

Shell_HAT 发表于 2024-02-04 11:05

回复 1# s1978256


# 方法1
readarray -t array1 < <(ls -1)
echo ${array1}

# 方法2
mapfile -t array2 < <(ls -1)
echo ${array2}

# 方法3
for file in *; do
    array3+=("$file")
done
echo ${array3}

BangBull 发表于 2024-03-06 11:41

:mrgreen::mrgreen:漂亮
页: [1]
查看完整版本: 目录下的文件名含中文及空格,如何把目录下所有的文件名赋值给数组变量?