实现一个shell命令

首先创建一个 main.c 文件(/home/tom/demon),该文件实现加法运算,代码如下:

复制代码
#include <stdio.h>
#include <unistd.h>
#include <getopt.h>
#include <stdlib.h>

int main(int argc, char *argv[]){
    int start = 0;
    int end = 0;
    int sum = 0;
    int opt;
    char *optstring = ":s:e:";

    while((opt = getopt(argc, argv, optstring))!= -1){
        switch(opt){
            case 's': start = atoi(optarg); break;
            case 'e': end = atoi(optarg); break;
            case ':': puts("Missing parameter"); exit(1);
        }
    }
    
    if(start<0 || end<=start){
        puts("Parameter error"); exit(2);
    }
    
    for(int i=start; i<=end; i++){
        sum+=i;
    }
    printf("%d\n", sum);

    return 0;
}
复制代码

 

然后,生成该源文件的可执行文件 getsum.out ,相关 gcc 编译指令如下

gcc main.c -o getsum.out    # 此时生成的可执行文件位于 /home/tom/demon

 

将该可执行文件的路径加入 shell 的配置文件 ~/.bashrc 中,即

PATH=$PATH:$HOME/demon

 

接下来就可以直接执行该 shell 命令(getsum)

getsum.out -s 1 -e 100  # 执行 1 到 100 的加法

 

结果为:5050

posted @   皮卡啰  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示