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}"/* )
posted @   michaelchengjl  阅读(1629)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示