Bash递归复制文件

#!/bin/bash


function readdir()
{
echo "AAAAAAAAA"
#保存目标目录 shell命令用小括号
local location=$(pwd)
pushd $location"/"$1
#循环查找 递归调用
for j in *
do
    if  [ -f "$j" ]
        then
            echo "$j"
            cp $j $2
    elif [ -d "$j" ]
        then
            readdir $j $2
    fi
done

popd

echo "BBBBBBBB"
}

if [ -d $1 ]
    then
        for i in *
            do
                if  [ -f "$i" ]
                    then
                        echo "$i"
                        cp $i $1
                elif [ -d "$i" ]
                    then
                        readdir $i $1
                fi
            done
        echo "copy success"
    else
        echo "no use of dir"
fi

这个程序还未完成:
1)复制后都到一个目录
2)主函数还未改
3)运行时 应该提供 来源目录 和 目的目录
4)还需要加入陷阱 trap 'echo co interrupted' INT
5)还有 还是cp -R 源目录 目的目录 这个命令好用

猜你喜欢

转载自ranson-zop.iteye.com/blog/1021705
今日推荐