sript 问题
set gui_out = /tmp/gui_out.$$
set gui_in = /tmp/gui_in.$$
echo "WIN 200 200" > $gui_in
echo "FG 000000" >>$gui_in
echo "BG 328068" >>$gui_in
echo "LABEL this panel gui:" >>$gui_in
echo "TEXT wenzi WENZI :" >>$gui_in
echo "RADIO jim '"ZIFU"' H 1 88000" >>$gui_in
echo "TOP" >>$gui_in
echo "BOTTOM" >>$gui_in
echo "END" >>$gui_in
echo "TEXT lengthx X-- :" >>$gui_in
echo "TEXT lengthy Y-- :" >>$gui_in
echo "CLABEL OK" >>$gui_in
/GENESIS/E91/ALL/GUI $gui_in >$gui_out
source $gui_out
if ($jim==top) then
COM add_pad,attributes=no,x=-5.08,y=-5.08,symbol=donut_r5000x4000,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
else
COM add_pad,attributes=no,x=0,y=0,symbol=donut_r5000x4000,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
endif
RADIO的返回值是否为序号‘1,2'这样排列,还是按给的标签 TOP,bottoM?
但是上面的执行按理来说,不论怎么样都应该要执行一个ADD_PAD的啊。但是结果什么都没有啊
按照1 2
$jim == 1
$jim == 2
帮你改了一下
#!/bin/csh
if ($?GENESIS_TMP) then
set TMP = $GENESIS_TMP
else if($?GENESIS_DIR) then
set TMP = $GENESIS_DIR/tmp
else
set TMP = /genesis/tmp
endif
set gui_out = $TMP/gui_out.$$
set gui_in = $TMP/gui_in.$$
echo "WIN 200 200" > $gui_in
echo "FG 000000" >> $gui_in
echo "BG 328068" >> $gui_in
echo "LABEL this panel gui:" >> $gui_in
echo "TEXT wenzi WENZI :" >> $gui_in
echo "RADIO jim \'"ZIFU"\' H 1 88000" >> $gui_in
echo "TOP" >> $gui_in
echo "BOTTOM" >> $gui_in
echo "END" >> $gui_in
echo "TEXT lengthx X-- :" >> $gui_in
echo "TEXT lengthy Y-- :" >> $gui_in
echo "CLABEL OK" >> $gui_in
$GENESIS_EDIR/all/gui $gui_in > $gui_out
source $gui_out
rm $gui_out ; rm $gui_in
if ($jim == 1) then
COM add_pad,attributes=no,x=-5.08,y=-5.08,symbol=donut_r5000x4000,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
else if ($jim == 2) then
COM add_pad,attributes=no,x=0,y=0,symbol=donut_r5000x4000,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
endif
楼上的大哥,不知道是不是我装的GENESIS的问题啊。运行总是有问题的啊,我宿舍的运行没有问题,办公室的一运行就死在那里了啊。本来早就可以搞完了的啊。55
1.Genesis中的GUI,Radio是一个选项指令,它的返回值是一个从1开始的自然数。(1,2,3,...)
2.你写的程序中"if ($jim==top) then"这句话中$jim == top之间是否有空格,如果没有空格的话,这句话就是错的.
3.执行这个程序的条件必须是,你已经打开了Graphic Edit;开启了一层;单位设成mm.请检查上述条件是否满足.
(程序中添加的donut_r5000x4000决定了单位必须是mm,如果是inch的话,这个PAD太大了,PCB设计中一般不会有这么大的PAD).
if ($jim==top) then
COM add_pad,attributes=no,x=-5.08,y=-5.08,symbol=donut_r5000x4000,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
else
COM add_pad,attributes=no,x=0,y=0,symbol=donut_r5000x4000,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
endif
与,或,非怎么使用,比如能否if ($jim==1)or ($jim==2) then
或者($JIM==1)AND($JIM==2) THEN 这里的语法能这样吗?关键字是不是OR,AND?
if 语句能否可以按这样的格式
if () then
if() then
else if ()
endif
LZ,对于csh编程语法,请到论坛里面找相关的教材看一下.教材里面讲的很清楚.
论坛太大了找不到啊。希望能给个链接啊。谢谢啊
