shell 将文件名读入数组


shell 将文件名读入数组

我想得到一个文件列表,然后将结果读入一个数组,其中每个数组元素对应一个文件名。

shopt -s nullglob
array=(*)
array2=(file*)
array3=(dir/*)

如果没有匹配项,则nullglob选项会使数组为空。

以下将在当前目录中创建一个带ls输出的数组arr:

arr=( $(ls) )

虽然使用ls的输出根本不安全。

比ls更好更安全,你可以使用echo *:

arr=( * )

echo ${#arr[@]} # will echo number of elements in array

echo "${arr[@]}" # will dump all elements of the array
path="" # could set to any absolute path
declare -a array=( "${path}"/* )


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM