当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 急啊!各位大侠先帮忙看一下,这个shell程序怎么做哇!
帖子发表于 : 2010-12-25 9:33 

注册: 2008-05-17 9:56
帖子: 25
送出感谢: 0 次
接收感谢: 0 次
原文件是这样的
想在
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


最后由 wangjingchu 编辑于 2010-12-25 13:23,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: 各位大侠先帮忙看一下,这个shell循环有什么问题吧~
帖子发表于 : 2010-12-25 10:17 
头像

注册: 2010-07-02 21:47
帖子: 476
送出感谢: 0 次
接收感谢: 0 次
感觉这只是你代码的一部份,我没看太懂。不知道你说的是什么问题。
有几个问题我还是看出来了。
1.在ubuntu下在shell代码里不能用let,当然如果你的第一行不是#! /bin/sh,可以忽视
2.$count=$count+1,最好写成count=$count + 1.
我也是新手,望有高手来指导一二 :em03


_________________
对系统:更加了解; 对软件:更强,更新,更有趣

ubuntu--arch--gentoo

vim(latex-suit),tex(xelatex,metapost),zim,chromium,virtualbox,awk......


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 各位大侠先帮忙看一下,这个shell循环有什么问题吧~
帖子发表于 : 2010-12-25 10:29 

注册: 2008-05-17 9:56
帖子: 25
送出感谢: 0 次
接收感谢: 0 次
IDRI 写道:
感觉这只是你代码的一部份,我没看太懂。不知道你说的是什么问题。
有几个问题我还是看出来了。
1.在ubuntu下在shell代码里不能用let,当然如果你的第一行不是#! /bin/sh,可以忽视
2.$count=$count+1,最好写成count=$count + 1.
我也是新手,望有高手来指导一二 :em03

看了老师的课件做也是出不来
代码:
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 是不是有问题啊


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 各位大侠先帮忙看一下,这个shell循环有什么问题吧~
帖子发表于 : 2010-12-25 10:48 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
谁说不能用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


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 各位大侠先帮忙看一下,这个shell循环有什么问题吧~
帖子发表于 : 2010-12-25 11:17 

注册: 2008-05-17 9:56
帖子: 25
送出感谢: 0 次
接收感谢: 0 次
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

谢谢了, :em02 高人哇


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 急啊!各位大侠先帮忙看一下,这个shell程序怎么做哇!
帖子发表于 : 2010-12-25 13:24 

注册: 2008-05-17 9:56
帖子: 25
送出感谢: 0 次
接收感谢: 0 次
:em20 :em20 自己鼓捣鼓捣不出来啊


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 急啊!各位大侠先帮忙看一下,这个shell程序怎么做哇!
帖子发表于 : 2011-01-02 19:15 

注册: 2010-03-14 7:50
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
trigger的例子真的很有趣~


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 急啊!各位大侠先帮忙看一下,这个shell程序怎么做哇!
帖子发表于 : 2011-01-02 20:43 

注册: 2010-04-29 22:00
帖子: 61
系统: Gentoo Linux ~amd64
送出感谢: 0 次
接收感谢: 6
代码:
#!/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


_________________
網站
配置


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译