免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4115 | 回复: 29
打印 上一主题 下一主题

在linux下编写的shell怎么可以弄到xp下运行. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-01 11:11 |只看该作者 |倒序浏览
本想用C编写,但C麻烦,然后用shell弄出来了.
在本地可以执行,但一想有些地方可能不可以上网,要不就可以ssh进来执行了.
有没有这方面的软件,直接弄到XP下执行.

脚本如下:

#!/bin/sh
while :
do
echo "请输入发票号:"
read a
echo $a >> /cha
if [ `grep -c "^$a$" /cha` -ge 2 ]
then
echo "有重复发票号$a"
fi
done

并且还要保存输入的信息.

论坛徽章:
0
2 [报告]
发表于 2005-06-01 11:15 |只看该作者

在linux下编写的shell怎么可以弄到xp下运行.

用c也就是十几行程序,呵呵。

论坛徽章:
0
3 [报告]
发表于 2005-06-01 11:16 |只看该作者

在linux下编写的shell怎么可以弄到xp下运行.

我用C考虑了很久也没搞定,朋友能帮我给个源码吗???

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
4 [报告]
发表于 2005-06-01 11:22 |只看该作者

在linux下编写的shell怎么可以弄到xp下运行.

用bat重写

论坛徽章:
0
5 [报告]
发表于 2005-06-01 11:24 |只看该作者

在linux下编写的shell怎么可以弄到xp下运行.

bat是什么?

论坛徽章:
0
6 [报告]
发表于 2005-06-01 11:25 |只看该作者

在linux下编写的shell怎么可以弄到xp下运行.

bat是dos下的可执行程序。
autoexe.bat什么的都是这种文件。

论坛徽章:
0
7 [报告]
发表于 2005-06-01 11:29 |只看该作者

在linux下编写的shell怎么可以弄到xp下运行.

我想了一下,用C实现思路:建立一个输入发票号的单链表,在插入(insert()函数)新结点前查找(search()函数)链表,有重复的报信息,没重复的插入。等输入完数据了,写入一个文件就可以了。

论坛徽章:
0
8 [报告]
发表于 2005-06-01 11:42 |只看该作者

在linux下编写的shell怎么可以弄到xp下运行.

关键我的C太菜了,兄弟能不能给一个代码,有回报的.

论坛徽章:
0
9 [报告]
发表于 2005-06-01 12:27 |只看该作者

在linux下编写的shell怎么可以弄到xp下运行.

[quote]原帖由 "hellolinux"]关键我的C太菜了,兄弟能不能给一个代码,有回报的.[/quote 发表:

我写了一个,没调试。呵呵,输出格式一行一个发票号。看看吧,有问题咱们再讨论。回报什么的就不必了。

  1. #include <stdio.h>
  2. #include <malloc.h>
  3. #include <string.h>

  4. struct fapiao{
  5.     char fp[30];
  6.     struct fapiao *next;
  7. };
  8. typedef struct fapiao FAPIAO;

  9. main()
  10. {
  11.    char fpstr[30];
  12.    FAPIAO *head;

  13.    void insert(FAPIAO **,char *);
  14.    void save2file(FAPIAO **,char *);

  15.    head=NULL;
  16.    while (1) /*接受键盘输入,当输入"exit"时跳出循环,然后输入文件名,保存数据*/
  17.    {
  18.      printf("Please enter the fapiao serial number,exit program with string "exit":\n");     
  19.      scanf("%s",fpstr);
  20.      if (strcmp(fpstr,"exit")==0) break;
  21.      insert(&head,fpstr);
  22.    }
  23.    printf(Please enter the file name for save datas:\n");
  24.    scanf("%s",fpstr);
  25.    save2file(&head,fpstr);
  26. }

  27. void insert(FAPIAO **head,char *string)
  28. {
  29.     FAPIAO *cur,*pre,*new;
  30.    
  31.     if ((new=(FAPIAO *)malloc(sizeof(FAPIAO)))==NULL)
  32.        {printf("Can't creat new node!\n");return;}
  33.     strcpy(new->fp,string);
  34.     new->next=NULL;
  35.     pre=*head;
  36.     if (pre==NULL)
  37.        *head=new;
  38.     else
  39.        {cur=pre->next;
  40.         while(cur!=NULL)
  41.            {if(strcmp(string,cur->fp)==0)   /*判断是否重复*/
  42.                {printf("Repeated!\n");return;}
  43.             pre=cur; /*不重复,前移*/
  44.             cur=cur->next;
  45.            }
  46.         pre->next=new; /*链接到表尾*/
  47.         return;
  48.        }   
  49. }

  50. void save2file(FAPIAO **head,char *string)
  51. {
  52.    FAPIAO *cur,*pre;
  53.    FILE *fptr;

  54.    pre=*head;
  55.    if (pre==NULL) return;
  56.    cur=pre->next;
  57.    if ((fptr=fopen("string",w))==NULL)
  58.       {printf("Can't creat file!\n");return;}
  59.    while (cur!=NULL)
  60.      {fprintf(fptr,"%30s\n",cur->fp);  /*定义格式存数据*/
  61.         *head=cur; /*移动头结点*/
  62.         cur=cur->next; /*当前结点指针后移*/
  63.         free(pre); /*释放存过的结点的内存*/
  64.         pre=*head;/*给pre重新赋值,指向当前结点*/
  65.      }
  66.    return;
  67. }
复制代码

论坛徽章:
0
10 [报告]
发表于 2005-06-01 12:37 |只看该作者

在linux下编写的shell怎么可以弄到xp下运行.

这里假定发票号不超过30位。呵呵实际多少位我不知道,不过这个应该够用了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP