编写一个shell脚本。功能为遍历当前文件夹下所有子文件夹。并找出子文件夹中是否有cmd.sh的脚本。如果有,就进入到当前目录。执行sh cmd.sh。在执行其他文件夹中的cmd.sh 。注意:当前文件夹中的 eureka 和config 文件夹最先进行执行 cmd.sh 执行完等待五秒,其他文件夹按顺序执行cmd.sh 等待2秒
时间: 2023-08-12 19:06:14 浏览: 79
ssh远程执行命令方法和Shell脚本实例
以下是一个实现该功能的shell脚本:
```bash
#!/bin/bash
# 遍历当前文件夹下的所有子文件夹
for dir in $(find . -type d); do
# 判断子文件夹中是否有cmd.sh脚本
if [ -f "$dir/cmd.sh" ]; then
# 进入到子文件夹
cd "$dir"
# 执行cmd.sh脚本
sh cmd.sh
# 判断是否为eureka或config文件夹
if [ "$dir" == "./eureka" ] || [ "$dir" == "./config" ]; then
sleep 5
else
sleep 2
fi
# 返回到上级文件夹
cd ..
fi
done
```
该脚本使用了`find`命令来遍历当前文件夹下的所有子文件夹,并使用了`-type d`参数来只查找目录。然后对于每个子文件夹,判断是否有`cmd.sh`脚本,如果有则进入该目录并执行`cmd.sh`脚本。在执行完脚本后,根据文件夹的名称进行等待时间的判断,并返回到上级文件夹继续遍历。
阅读全文