Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

开始写个shell

$
0
0

每天都坚持写代码是好习惯,现在开始写个小shell。

用到之前看GNU软件源码的一些技巧。


/**
 *  jsh 程序,简单的shell程序
 *
 *  created : jeff
 *  date:      2013.1.28
 *  version:   first version   
 *
 *
 *
 *
 * *********************************************/


#include <stdio.h>
#include <unistd.h>


#include <stdlib.h>
#include <getopt.h>


#define VERSION \
  "jsh version 1.0.0\n"\


#define USAGE\
  "Usage: jsh [GNU long option] [option] ...\n\
       jsh [GNU long option] [option] script-file ...\n\
  long option:\n\
           --version\n\
           --help\n"\


static struct option longoptions[]=
{
  {"version", 0, NULL,'v' },
  {"help", 0, NULL, 'h'}
};




void usage();
void version();


int main(int argc, char** argv)
{
    int opt = 0;
    if(argc <2)
      usage();
    
    while( (opt=getopt_long(argc,argv,"vh",longoptions,  NULL)) !=EOF)
    {
        switch(opt)
        {
            case 'h':
              usage();
              break;
            case 'v':
              version();
              break;
            default:
              usage();
              break;
        }
    }
    return 0;
}


void usage()
{
   fprintf(stdout, USAGE);
}


void version()
{
   fprintf(stdout, VERSION);
}


作者:littleflasher_jeff 发表于2013-1-28 22:55:33 原文链接
阅读:46 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>