编写shell脚本,实现移动一个文件

编写shell脚本,实现移动一个文件,如果目标位置同名文件已存在,则等待,直到该文件在目标位置被删除后才执行移动操作。... 编写shell脚本,实现移动一个文件,如果目标位置同名文件已存在,则等待,直到该文件在目标位置被删除后才执行移动操作。 展开
 我来答
百度网友946420d
2017-07-15 · TA获得超过151个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:32.5万
展开全部
polly@nowthen:~/test$ cat mv.sh
#!/bin/bash

usage() {
   echo "`basename $0` filetomove targetlocation"
   exit 1
}

if [ $# -ne 2 ]; then
   usage
else if [ -e $1 -a -f $1 -o -e $1 -a -d $1 ]; then
   echo "$1 exist"
   temp=`basename $1`
   echo "file to mv: ${temp}"
   if [ -e ${temp} ]; then
      while [ -e ${temp} ] 
      do
         echo "${temp} exists in current dir"
         sleep 1
      done
      echo "${temp} removed, and copy begin"
      cp -r $1 $2
      exit 0
   else 
      cp -r $1 $2
   fi
fi
fi
程序没有检查目标文件夹是否存在,可以移动文件及文件夹
albumin
2016-06-08 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2410万
展开全部
if ![ -d "$2" ]
then
echo "$2 is not a directory,exiting"
exit 1
fi
if ![ -f "$1" ]
then
echo "$1 is not a file,exiting"
exit 2
fi 
while :
    if [ -e "$2/$1" ]
    then 
    sleep 10
    continue
    fi
    mv "$1" "$2"
    break

保存为move.sh,用法

./move.sh  文件名 目标目录名

追问
不是要用到wait命令吗
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
声夜素01
推荐于2017-07-23 · TA获得超过276个赞
知道小有建树答主
回答量:435
采纳率:0%
帮助的人:67.5万
展开全部
find 文件夹名字 -size +10K --exec cp {} 另一个文件夹 \;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式