编写遍历每个目录并在每个目录中执行命令的bash脚本可以使用递归的方式来实现。下面是一个示例脚本:
#!/bin/bash
# 定义函数来遍历目录并执行命令
traverse_directories() {
local dir=$1
local command=$2
# 遍历目录中的文件和子目录
for file in "$dir"/*; do
if [ -d "$file" ]; then
# 如果是目录,则递归调用函数遍历子目录
traverse_directories "$file" "$command"
elif [ -f "$file" ]; then
# 如果是文件,则执行命令
echo "Executing command '$command' in directory '$dir'"
cd "$dir" && eval "$command"
fi
done
}
# 调用函数来遍历指定目录并执行命令
traverse_directories "/path/to/directory" "your_command"
在上面的脚本中,traverse_directories
函数接受两个参数:目录路径和要执行的命令。它首先遍历目录中的文件和子目录,如果遇到子目录,则递归调用自身来遍历子目录。如果遇到文件,则在该文件所在的目录中执行给定的命令。
你需要将 /path/to/directory
替换为你要遍历的目录路径,将 your_command
替换为你要在每个目录中执行的命令。
请注意,这只是一个示例脚本,你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云