【发布时间】:2019-08-05 07:49:38
【问题描述】:
我有一个配置文件,我想使用 bash 脚本将其复制到某个位置的所有文件夹中。在我使用这样的一行之前:
aws s3 cp ${CONFIG_FILE} ${S3_URI}config.json
它将一个文件复制到我在服务器上的位置。现在我在这个位置有多个文件夹,每个文件夹都需要配置文件。
我怎样才能为此编写一个循环?我是 bash 的新手,所以我有点难以弄清楚。
【问题讨论】:
我有一个配置文件,我想使用 bash 脚本将其复制到某个位置的所有文件夹中。在我使用这样的一行之前:
aws s3 cp ${CONFIG_FILE} ${S3_URI}config.json
它将一个文件复制到我在服务器上的位置。现在我在这个位置有多个文件夹,每个文件夹都需要配置文件。
我怎样才能为此编写一个循环?我是 bash 的新手,所以我有点难以弄清楚。
【问题讨论】:
for d in $(find /base/path/of/your/target/dirs -type d); do cp your_file $d; done
【讨论】:
另一种不执行for loop as find 命令的解决方案可以立即执行此操作:
find /lookup/path/ -type d -exec cp config.json {} \;
此命令的作用是在特定路径中搜索并获取目录列表,然后它将使用exec将这些目录中的文件一一复制
【讨论】: