shell脚本实现批量拷贝文件到相对应目录并修改权限

shell脚本实现批量拷贝文件到相对应目录并修改权限

该脚本可以和要批量拷贝的文件放在同一个大目录下,然后可以压缩,再把压缩包放到Linux系统里解压就行,
该脚本很适合在拷贝大量文件,而且文件路径各不相同的情况下使用
要点:
1.目的路径要用绝对路径
2.cp -rf [file1] [file2] 会把整个file1拷贝到file2里
3.执行脚本前先给脚本添加可执行权限 chmod +x [filename]

#!/bin/bash
#存储源文件目录的相对路径
you_position=(bin etc mnt sbin usr workspace)
#存放目的文件目录的绝对路径(与you_position一一对应)
to_position=(/ / / / / /root)

#获取数组元素个数
num=${#you_position[@]}
for ((id=0;id<$num;id++))
do 
    #echo ${you_position[$id]}
    #复制文件到目录下   
    cp -rf ${you_position[$id]} ${to_position[$id]}
    #判断上一条命令是否出错,如果出错,打印错误信息并停止执行脚本
    if [ $? -ne 0 ]; then
        echo cp ${you_position[$id]} "failed"
        exit 1
    fi
    #修改文件及目录权限
    chmod -R 777 ${to_position[$id]}${you_position[$id]}
    #判断上一条命令是否出错,如果出错,打印错误信息并停止执行脚本
    if [ $? -ne 0 ]; then
        echo chmod ${to_position[$id]}${you_position[$id]} "failed"
        exit 1
    fi
done
echo "All successful!"

以上便是一个小demo,大家可以根据自己需要更改,如果运行有问题可以在下方评论留言。

posted @ 2023-04-07 12:09  h云淡风轻  阅读(486)  评论(0编辑  收藏  举报  来源