分页: 1 / 1
急啊!各位大侠先帮忙看一下,这个shell程序怎么做哇!
发表于 : 2010-12-25 9:33
由 wangjingchu
原文件是这样的
想在
a: begin后面插入 //case 1
b: begin后面插入//case 2
...
一直到最后一个x:begin后插入//case n
这个应该怎么实现啊
原文如下
代码: 全选
case (stato)
a: begin
if (line1 && line2) stato=f;
else stato=b;
outp<=line1^line2;
overflw<=0;
end
e: begin
if (line1 && line2) stato=f;
else stato=b;
outp<=line1^line2;
overflw<=1;
end
b: begin
if (line1 && line2) stato=g;
else stato=c;
outp<=line1^line2;
overflw<=0;
end
Re: 各位大侠先帮忙看一下,这个shell循环有什么问题吧~
发表于 : 2010-12-25 10:17
由 IDRI
感觉这只是你代码的一部份,我没看太懂。不知道你说的是什么问题。
有几个问题我还是看出来了。
1.在ubuntu下在shell代码里不能用let,当然如果你的第一行不是#! /bin/sh,可以忽视
2.$count=$count+1,最好写成count=$count + 1.
我也是新手,望有高手来指导一二

Re: 各位大侠先帮忙看一下,这个shell循环有什么问题吧~
发表于 : 2010-12-25 10:29
由 wangjingchu
IDRI 写了:感觉这只是你代码的一部份,我没看太懂。不知道你说的是什么问题。
有几个问题我还是看出来了。
1.在ubuntu下在shell代码里不能用let,当然如果你的第一行不是#! /bin/sh,可以忽视
2.$count=$count+1,最好写成count=$count + 1.
我也是新手,望有高手来指导一二

看了老师的课件做也是出不来
代码: 全选
str=`sed -n ':' b01.v`
#循环,以便连续插入
count=1
while[$count < $str]
do
sed -i -e '/Case $count/i\
//Case $count+1' b01.v
let count=$count+1
done
那个do里的 $count+1 是不是有问题啊
Re: 各位大侠先帮忙看一下,这个shell循环有什么问题吧~
发表于 : 2010-12-25 10:48
由 trigger
谁说不能用let?语法错误当然不行:
[bash]#!/bin/bash
#sh010.sh
max=50 #变量max赋值
for i in `seq $max`
do
let max=max-i
(($max<0))&&break
echo $i $max
done[/bash]
./sh010.sh
1 49
2 47
3 44
4 40
5 35
6 29
7 22
8 14
9 5
Re: 各位大侠先帮忙看一下,这个shell循环有什么问题吧~
发表于 : 2010-12-25 11:17
由 wangjingchu
trigger 写了:谁说不能用let?语法错误当然不行:
[bash]#!/bin/bash
#sh010.sh
max=50 #变量max赋值
for i in `seq $max`
do
let max=max-i
(($max<0))&&break
echo $i $max
done[/bash]
./sh010.sh
1 49
2 47
3 44
4 40
5 35
6 29
7 22
8 14
9 5
谢谢了,

高人哇
Re: 急啊!各位大侠先帮忙看一下,这个shell程序怎么做哇!
发表于 : 2010-12-25 13:24
由 wangjingchu

自己鼓捣鼓捣不出来啊
Re: 急啊!各位大侠先帮忙看一下,这个shell程序怎么做哇!
发表于 : 2011-01-02 19:15
由 sugarbyheart
trigger的例子真的很有趣~
Re: 急啊!各位大侠先帮忙看一下,这个shell程序怎么做哇!
发表于 : 2011-01-02 20:43
由 MaskRay
代码: 全选
#!/usr/bin/expect
spawn -noecho -open [open 所需编辑的文件 r]
log_user 0
while 1 {
expect {
-re "\[^\n]*\n" {
if {[regexp "(.): begin" $expect_out(0,string) ignore c] == 1} {
send_user "[string trimright $expect_out(0,string) \n] //case [expr [scan $c %c] - 96]\n"
} else {
send_user $expect_out(0,string)
}
}
eof break
}
}
wait