PCB论坛网

 找回密码
 注册
查看: 978|回复: 5

[求助]请斑主看看怎么到while就出错了!

[复制链接]
发表于 2006-3-9 18:00:00 | 显示全部楼层 |阅读模式

#Add check_hole
if ($SEL_STP == "edit") then
 DO_INFO -t layer -e $JOB/$SEL_STP/drl
 touch /tmp/checkdrl.$$
 set chk_count = $#gSYMS_HISTsymbol
 @ aa = 1
 while ( $aa <= $chk_count)
 echo $gSYMS_HISTsymbol[$aa] | cut -c2-6 >>  /tmp/checkdrl.$$
 @ aa++
 end
 sort -k 1n /tmp/checkdrl.$$ > /tmp/chkholedrl.$$
 set addhole = ` cat /tmp/chkholedrl.$$ `
 echo $addhole
 set count = $#addhole
 echo $count
 set step = 0.18
 echo $step
 set sp = ` echo " scale = 4 ; $step + 0 " | bc `
 set adh_data = ` cat /tmp/chkholedrl.$$ `
 set adh_var = ( $adh_data )
 set chk_count = $#adh_data
 @ adh_count = 1
 while ( $adh_count <= $chk_count )
 foreach adh_holesize ( $adh_var )
 set adh_holesizen = r$adh_holesize 
 set posaddchkholex = ` echo " scale = 4 ; $gACTIVE_AREAxmin +( $adh_count * $sp ) + 1 " | bc `               
 COM add_pad,attributes=no,x=$posaddchkholex,y=$dr_ycheck,symbol=$adh_holesizen,polarity=positive,angle=0,mirror=no,nx=1, \
 ny=1,dx=0,dy=0,xscale=1,yscale=1
 @ adh_count ++
 end     
 rm -f /tmp/checkdrl.$$
 rm -f /tmp/chkholedrl.$$
else
 DO_INFO -t layer -e $JOB/edit/drl
 touch /tmp/checkdrl.$$
 set chk_count = $#gSYMS_HISTsymbol
 @ aa = 1
 while ( $aa <= $chk_count)                            
 echo $gSYMS_HISTsymbol[$aa] | cut -c2-6 >>  /tmp/checkdrl.$$
 @ aa++
 end                                            

 DO_INFO -t layer -e $JOB/$SEL_STP/drl
 set chk_count = $#gSYMS_HISTsymbol
 @ aa = 1
 while ( $aa <= $chk_count)
 echo $gSYMS_HISTsymbol[$aa] | cut -c2-6 >>  /tmp/checkdrl.$$
 @ aa++
 end
 sort -k 1n /tmp/checkdrl.$$ > /tmp/chkholedrl.$$
 set addhole = ` cat /tmp/chkholedrl.$$ `
 echo $addhole
 set count = $#addhole
 echo $count
 set step = 0.18
 echo $step
 set sp = ` echo " scale = 4 ; $step + 0 " | bc `
 set adh_data = ` cat /tmp/chkholedrl.$$ `
 set adh_var = ( $adh_data )
 set chk_count = $#adh_data
 @ adh_count = 1
 while ( $adh_count <= $chk_count )
 foreach adh_holesize ( $adh_var )
 set adh_holesizen = r$adh_holesize 
 set posaddchkholex = ` echo " scale = 4 ; $gACTIVE_AREAxmin +( $adh_count * $sp ) + $w10 " | bc `               
 COM add_pad,attributes=no,x=$posaddchkholex,y=$dr_ycheck,symbol=$adh_holesizen,polarity=positive,angle=0,mirror=no,nx=1, \
 ny=1,dx=0,dy=0,xscale=1,yscale=1
 @ adh_count ++
 end             
 rm -f /tmp/checkdrl.$$
 rm -f /tmp/chkholedrl.$$
endif                         
endif


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

发表于 2006-3-10 08:14:00 | 显示全部楼层
不好意思,我不会scripts,帮不到你。[em04]
回复 支持 反对

使用道具 举报

发表于 2006-3-10 08:28:00 | 显示全部楼层

 while ( $adh_count <= $chk_count )
 foreach adh_holesize ( $adh_var )
两语句只有一个end,且if ($SEL_STP == "edit") then ...else....endif有两个endif.

回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-12 09:23:00 | 显示全部楼层

可以我在Unix/Linux中可以啊!

回复 支持 反对

使用道具 举报

发表于 2006-3-13 11:40:00 | 显示全部楼层
或许你在一定条件下可能可以运行
回复 支持 反对

使用道具 举报

发表于 2006-3-13 19:44:00 | 显示全部楼层

看不明白。

如果有人教多好呀

回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|小黑屋|手机版|PCB设计论坛|EDA论坛|PCB论坛网 ( 沪ICP备05006956号-1 )

GMT+8, 2024-9-22 07:24 , Processed in 0.155461 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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