shell中递归函数如何循环拷贝文件到指定目录-创新互联

这篇文章主要介绍了shell中递归函数如何循环拷贝文件到指定目录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联是一家集成都网站设计、成都做网站、网站页面设计、网站优化SEO优化为一体的专业网络公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。

代码:

#!/bin/sh
recursive( )
{
     for file in $1
     do
       subfile=`ls $2$3/$file`
       for subsubfile in $subfile
       do
 #               echo $subsubfile
         if [ "$subsubfile" == "$2$3/$file" ]
         then
                rm -rf $3/$file
                mv $subsubfile $3/$file
         else
                recursive `ls $2$3/$file` $2 $3/$file;
         fi
       done
     done
}
cd /tmp
mkdir update;
tar -zxvf update.tgz -C update;
chmod -R 755 /tmp/update/*;
rootdir="/tmp/update"
filelist=`ls /tmp/update/`
for file in $filelist
do
 subfile=`ls $rootdir/$file`
  for subsubfile in $subfile
   do
   if [ "$subsubfile" != "$rootdir/$file" ]
   then
        $(recursive `ls $rootdir/$file` $rootdir /$file)
        # rm -rf /$file/$subfile
        # mv $rootdir/$file/$subsubfile /$file
        break 1;
   else
        kill -9 `ps|grep $file`
        rm -f /usr/bin/$file
        mv $rootdir/$file /usr/bin
   fi
  done
done
#reboot

以下是新添加的

创建文件夹下的所有文件的软链接,链接文件可以指定保存到其他目录

在filelist赋值时,可以指定source路径,

在下文“ ln -s $file arm-linux-"$lastwd" ”这句,可以指定链接文件的目录,比如source路径是当前路径,目标路径也是当前路径

#/bin/bash


filelist=`ls ./`


for file in $filelist
do
  firstwd=$file | cut -d "-" -f1


#  if [ "$firstwd" == "arm" ]
#  then
    lastwd=`echo "$file" | sed 's/.*-[]$/\1/'`
    echo $lastwd
    ln -s $file arm-linux-"$lastwd"
#  fi
done

感谢你能够认真阅读完这篇文章,希望小编分享的“shell中递归函数如何循环拷贝文件到指定目录”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:shell中递归函数如何循环拷贝文件到指定目录-创新互联
链接URL:http://ybzwz.com/article/goepi.html