0

我正在寻找创建一个脚本,该脚本需要一个文件并将文件复制到多个目录

例如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吗?

4

2 回答 2

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

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

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

于 2013-04-10T19:58:11.287 回答
3
cp2dir() {
    local file="$1" dir
    shift

    for dir in "$@"; do
        cp "$file" "$dir"
    done
}
于 2013-04-10T19:58:22.603 回答