bash脚本将文件复制到多个指定目录中

时间:2013-04-10 19:55:19

标签: bash shell scripting

我正在寻找创建一个脚本来获取文件并将文件复制到多个目录

e.g。 cp2dir filename dir1/ dir2/ dir3/

我已经挖了,看起来我的路线是使用cat <inputfile> | tee <outputfile> <outputfile> <outputfile>但是,我找到的以前的脚本似乎是使用静态文件/目录。

如何通过用户输入执行此操作?

我在想:

for i in $dir; do
    cat $file | tee $i

其中$ dir和$ file是用户输入。我需要cut -d\ $ dir吗?

2 个答案:

答案 0 :(得分:4)

cp2dir() {
    local file="$1"
    shift
    local -a dirs=( "$@" )

    for dir in "${dirs[@]}"; do
        cp "$file" "$dir"
    done
}

当然,这不会进行任何安全检查,例如确保目标实际上是目录。我把它留给你。

答案 1 :(得分:3)

cp2dir() {
    local file="$1" dir
    shift

    for dir in "$@"; do
        cp "$file" "$dir"
    done
}