请求编写实现无限层级嵌套文件夹的Bash脚本
实现无限并行创建嵌套文件夹的Bash脚本
以下是满足需求的脚本实现,核心是通过后台并行任务同时处理多个顶级文件夹的嵌套结构创建,并且通过递归实现无限层级的子文件夹生成:
#!/bin/bash # 全局计数器,避免文件夹命名冲突 top_folder_counter=0 sub_folder_counter=0 # 递归创建无限嵌套子文件夹的函数 create_infinite_nested() { local current_path="$1" local current_level="$2" # 创建当前层级的子文件夹 local sub_folder_name="sublevel_${current_level}_$((++sub_folder_counter))" mkdir -p "${current_path}/${sub_folder_name}" # 递归调用自身,进入下一层级,后台执行不阻塞当前流程 create_infinite_nested "${current_path}/${sub_folder_name}" $((current_level + 1)) & } # 无限循环创建顶级文件夹,并启动对应嵌套任务 while true; do local top_folder_name="top_folder_$((++top_folder_counter))" mkdir -p "$top_folder_name" # 为当前顶级文件夹启动嵌套创建任务,后台并行运行 create_infinite_nested "$top_folder_name" 1 & # 可选:添加短暂延迟,避免瞬间创建过多文件夹导致系统负载过高 sleep 0.2 done
关键特性说明
- 并行执行:每个顶级文件夹的嵌套子文件夹创建任务通过
&放入后台,主循环无需等待当前任务完成即可创建下一个顶级文件夹,实现多结构同时生成。 - 无限层级:递归函数
create_infinite_nested会不断在当前文件夹下生成子文件夹,并进入子文件夹继续生成下一层级,无限延伸嵌套结构。 - 命名唯一性:通过全局计数器确保所有顶级文件夹和子文件夹的名称不会重复,格式为
top_folder_数字和sublevel_层级_数字。 - 负载控制:添加
sleep命令可调整创建频率,防止短时间内生成大量文件夹耗尽磁盘IO或系统资源,可根据需求修改延迟时长。
使用注意
- 脚本会无限运行,直到手动按下
Ctrl+C终止,运行前请确认目标磁盘有足够存储空间。 - 若需彻底停止所有相关进程,可执行
pkill -f 脚本文件名。
内容的提问来源于stack exchange,提问作者Huzaifa Arshad
相关产品推荐
相关产品推荐

