在bash中使用循环将特定文件复制到特定目录

在bash中使用循环将特定文件复制到特定目录

我想做的是:

src1=/path/to/source1
src2=/path/to/source2

dest1=/path/to/dest1
dest2=/path/to/dest2

loop

    copy src(x) to dest(x)   #here x=1,2,3..

break_loop

那么如何在 bash 脚本中实现这一点呢?

答案1

作为一种变体,假设您有 shell 的 bash。

#!/bin/bash
declare -A dirs
dirs[/path/to/source1]=/path/to/dest1
dirs[/path/to/source2]=/path/to/dest2
for src in "${!dirs[@]}"
do
   cp -- "$src"/* "${dirs[$src]}"/
done

答案2

所以我不完全确定你想要完成什么,但如果你只是想将 src1 复制到 dest1 并将 src2 复制到 dest2 那么你可以这样做:

src=(/path/to/source1 /path/to/source2)

dest=(/path/to/dest1 /path/to/dest2)

for i in "${!src[@]}"; do
    cp -- "${src[$i]}" "${dest[$i]}"
done

希望这有帮助!

相关内容