免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2187 | 回复: 6
打印 上一主题 下一主题

奇怪的csh脚本拷贝文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-27 17:54 |只看该作者 |倒序浏览
csh脚本,想把文件 minircl.run1 拷贝为 minircl.10.1, minircl.10.2, minircl.20.1, minircl.20.2 ,可是结果没有生成,其中minircl.run1 是存在的。搞了一天,没有结果,求各位大侠指点,不胜感激!脚本如下。

size10=10
size20=20
for x in 1  2
do
  if test $x -eq 1
  then
   numcc=$size10
  fi
  if test $x -eq 2
  then
   numcc=$size20
  fi
  for y in 1 2
  do   
    cp  minircl.run1  minircl.$numcc.$y
  done
done

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2008-03-27 18:31 |只看该作者
你这不是csh脚本
1,变量赋值方式不对, 应该是:
set var=xxx #字符
@ num=222 #数值
2,csh没for循环, 与之对应的是foreach
3,test也不对!
所以, 建议用bash吧, csh很麻烦的

论坛徽章:
0
3 [报告]
发表于 2008-03-27 19:06 |只看该作者

回复 #2 寂寞烈火 的帖子

多谢二楼的建议。你能否用bash写写?我以后就可以自己写了。多谢了!

论坛徽章:
0
4 [报告]
发表于 2008-03-27 20:10 |只看该作者

回复 #2 寂寞烈火 的帖子

我现在几种shell有点混淆!麻烦二楼在看看好吗?

论坛徽章:
0
5 [报告]
发表于 2008-03-27 20:36 |只看该作者
#usr/bash

size10=10
size20=20
for x in 1  2
do
  if [ $x -eq 1 ]
  then
   numcc=$size10
  fi
  if [ $x -eq 2 ]
  then
   numcc=$size20
  fi
  for y in 1 2
  do   
    cp  minircl.run1  minircl."$numcc"."$y"
  done
done

论坛徽章:
0
6 [报告]
发表于 2008-03-27 21:23 |只看该作者

回复 #5 mcolinc 的帖子

非常感谢五楼风云使者的帮助!你的代码结果正确!学习一下。请问,你的代码中 numcc 和y是数值不是字符,是引号把它们转化为字符吗?x,size10,size20 也同样不是字符而是数值吗?
还有怎样把numcc 数组化,也就是
size(10 20)
...
cp  minircl.run1  minircl."${ize}"."y"
可是结果不对

论坛徽章:
0
7 [报告]
发表于 2008-03-28 15:57 |只看该作者

回复 #6 wenhuiwen 的帖子

呵呵,没有人和我交流。不过还是谢谢cu这个平台!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP