Chinaunix

标题: 奇怪的csh脚本拷贝文件 [打印本页]

作者: wenhuiwen    时间: 2008-03-27 17:54
标题: 奇怪的csh脚本拷贝文件
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
作者: 寂寞烈火    时间: 2008-03-27 18:31
你这不是csh脚本
1,变量赋值方式不对, 应该是:
set var=xxx #字符
@ num=222 #数值
2,csh没for循环, 与之对应的是foreach
3,test也不对!
所以, 建议用bash吧, csh很麻烦的
作者: wenhuiwen    时间: 2008-03-27 19:06
标题: 回复 #2 寂寞烈火 的帖子
多谢二楼的建议。你能否用bash写写?我以后就可以自己写了。多谢了!
作者: wenhuiwen    时间: 2008-03-27 20:10
标题: 回复 #2 寂寞烈火 的帖子
我现在几种shell有点混淆!麻烦二楼在看看好吗?
作者: mcolinc    时间: 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
作者: wenhuiwen    时间: 2008-03-27 21:23
标题: 回复 #5 mcolinc 的帖子
非常感谢五楼风云使者的帮助!你的代码结果正确!学习一下。请问,你的代码中 numcc 和y是数值不是字符,是引号把它们转化为字符吗?x,size10,size20 也同样不是字符而是数值吗?
还有怎样把numcc 数组化,也就是
size(10 20)
...
cp  minircl.run1  minircl."${ize}"."y"
可是结果不对
作者: wenhuiwen    时间: 2008-03-28 15:57
标题: 回复 #6 wenhuiwen 的帖子
呵呵,没有人和我交流。不过还是谢谢cu这个平台!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2