LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1239|回复: 8

求个简单的循环处理

[复制链接]
发表于 2007-5-18 22:35:43 | 显示全部楼层 |阅读模式
liunx下想重复执行命令
setdest -n 210 > scen_1

只是将输出文件名改动,简单地就加1吧,scen_2, scen_3....

虽然用上下键重复操作也还行,但是多了的话还是麻烦,而且总要去改那个数字,应该怎么做,谢谢
发表于 2007-5-18 23:52:22 | 显示全部楼层
楼主的意思是这样么?

  1. $ seq 1 10|xargs -i echo "setdest -n 210 > scen_{}"
  2. setdest -n 210 > scen_1
  3. setdest -n 210 > scen_2
  4. setdest -n 210 > scen_3
  5. setdest -n 210 > scen_4
  6. setdest -n 210 > scen_5
  7. setdest -n 210 > scen_6
  8. setdest -n 210 > scen_7
  9. setdest -n 210 > scen_8
  10. setdest -n 210 > scen_9
  11. setdest -n 210 > scen_10
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-19 09:23:29 | 显示全部楼层
谢谢,不得不佩服天下高手云集
但是有个问题是,这样只是显示了
setdest -n 210 > scen_1
setdest -n 210 > scen_2
setdest -n 210 > scen_3
setdest -n 210 > scen_4
setdest -n 210 > scen_5
setdest -n 210 > scen_6
setdest -n 210 > scen_7
setdest -n 210 > scen_8
setdest -n 210 > scen_9
setdest -n 210 > scen_10
怎么让它们执行,setdest是我们的一个场景生成命令,-n 210是参数210个节点

平时要做的话就只有一次一次执行
$setdest -n 210 > scen_1
现在要生成多个场景的话,想让linux自动执行这些命令,请问怎么做
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-19 10:57:49 | 显示全部楼层
thanks

have found how to run commands in a file : sh filename

$ seq 1 10|xargs -i echo "setdest -n 210 > scen_{}" > test
$ sh test
回复 支持 反对

使用道具 举报

发表于 2007-5-19 12:05:29 | 显示全部楼层
setdest -n 210 > scen_{1..210}
回复 支持 反对

使用道具 举报

发表于 2007-5-19 18:04:16 | 显示全部楼层
try:
eval $(seq 1 10|xargs -i echo "setdest -n 210 > scen_{}")
回复 支持 反对

使用道具 举报

发表于 2007-5-20 10:19:10 | 显示全部楼层
使用 bash 的循环语句
给个链接(google到的),自己看:
http://www.ibm.com/developerworks/cn/linux/shell/bash/bash-2/
回复 支持 反对

使用道具 举报

发表于 2007-5-21 10:59:28 | 显示全部楼层
num=0
  while(( $num < 210 ))
  do
      `setdest -n 210 > scen_$num`
      let num+=1
  done
不知这样是否可以?
回复 支持 反对

使用道具 举报

发表于 2007-6-10 14:39:42 | 显示全部楼层
for i in $(seq 1 10) ; do setdest -n 210 > scen_$i ; done

第一次知道还有seq这个命令,又长见识了
以前总是用while
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表