当前位置:  技术问答>linux和unix

请教一个shell脚本

    来源: 互联网  发布时间:2016-08-25

    本文导语:  bash-3.00$ cat mycp3 #!/usr/bin/ksh #?sed? check=TRUE while getopts n option do    case "$option"     in       n)check=FALSE;;      ?)echo  "选项错误 用法:mycp [-n] sourcefiles targetfile|targetdirectory -n选项忽略对文件是否存在的常规检查"    ...

bash-3.00$ cat mycp3
#!/usr/bin/ksh
#?sed?
check=TRUE
while getopts n option
do
   case "$option"
    in
      n)check=FALSE;;
     ?)echo  "选项错误
用法:mycp [-n] sourcefiles targetfile|targetdirectory
-n选项忽略对文件是否存在的常规检查"
        exit 2;;
   esac
done
shift $(($OPTIND-1))
num=$#
while [ $# -gt 1 ]
do
  filelist="$filelist $1"
  shift
done
to=$1
 [ $num -lt 2 -o $num -gt 2 -a  ! -d $to ]
#echo $?
if [ $num -lt 2 -o $num -gt 2 -a  ! -d $to ]
   then echo 参数错误
        echo 用法:mycp files dir/mycp dir dir/mycp file file
        echo "             Source file name? Voucher
              Destination file name? Voucher.sv"
        exit 1
fi
#echo $to
for from in $filelist
 do
  if [ -d $to ]
    then fileto=$to/$(basename $from)
  else 
    fileto=$to
  fi
  #echo 拷贝到$to
  if [ $check = TRUE ]
   then 
    if [ -e $fileto ]
      then echo "$fileto文件已存在,是否继续(yes/no)?c" 
         read isGoon
         if [ "$isGoon" = yes ]
           then copylist="$copylist $from" 
         else 
           echo 复制$from操作取消
         fi
    else copylist="$copylist $from" 
    fi
  else
    copylist="$copylist $from"
  fi 
 done
#echo "$copylist" echo $to 
if [ -n "$copylist" ]
  then  for copy in $copylist
        do 
          if [ -d $copy ]
           then cp -r $copy $to
          elif [ -e $copy ] 
           then
               cp $copy $to
          else echo 源文件$copy不存在
          fi 
          if [ $? -eq 0 -a  -e $copy ]
           then echo 复制$copy操作成功
          else echo 复制$copy操作失败
          fi
        done
fi

怎样用sed命令代替while循环来处理命令行键入的参数。
还请各位多指教了,O(∩_∩)O~

|
sed  没的循环吧,可以实现读取每行数据  

    
 
 

您可能感兴趣的文章:

  • 请教一个问题,CRONTAB执行脚本和SSH登陆后调用脚本有什么不同?
  • 请教花括号在脚本中的用法的含义
  • 请教shell脚本启动程序
  • 高分请教关于Shell脚本执行中断问题?
  • 请教关于多个shell脚本后台运行的问题!
  • 请教:这个脚本文件为什么不随机启动
  • 请教一个脚本编写时的问题
  • 请教:如何写一个自动以当前日期建目录的脚本
  • 请教shell脚本中ls -la >ls.log <<!,中的"<<!"是什么意思?
  • 请教一个查找字符的脚本。急用!!
  • 请教两段shell脚本的不同
  • sh 脚本:请教实现非root退出
  • 请教高手,一个简单的shell脚本问题???
  • 请教斑竹,在linux下怎么执行位于其他机器上的脚本
  • 请教一个shell脚本的问题!
  • 请教一个SH脚本的写法(在线等)
  • 请教各位一个关于linux脚本的问题
  • 请教各位,shell脚本获取当前日期是本年的第几周?
  • 请教关于shell脚本的问题
  • 请教shell脚本问题
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • shell变量和子shell的问题请教
  • 请教 一个shell问题 如何通过shell获得一个日志文件中的增量部分
  • 请教一个shell编程的问题,就是如何在shell编程中读一个文件的内容?谢谢啦!
  • 请教两个shell
  • 新手请教Shell学习问题
  • 请教shell的问题,比较难。
  • 请教一个问题 关于Shell的
  • 请教一个shell问题
  • 请教UNIX下SHELL中DATE格式的问题
  • 请教一个shell中字符和数值的问题。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • NOSQL iis7站长之家
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程
  • 请教两个redhat9问题
  • 请教如何在指定目录下查找包含指定文字的文件
  • 请教局域网中如何通过ip地址得到主机名
  • 请教kdevelop的问题
  • 请教linux 下的adsl拨号问题.
  • 请教,如何用虚拟订机安装liux
  • 【请教】LINUX 下SNMP的MIB开发
  • 请教一个opengl的问题
  • 请教unix常用命令命令问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3