Linux下使用C语言封装一个echo命令的函数

Linux下使用 C语言自己封装一个 echo 命令的函数

要求:将该函数封装到环境变量中,并起一个别的名字

#include <stdio.h>
#include <string.h>

int main(int argv,char* argc[])
{  
    int i;	
    int j;
    int len; //接收main函数后每个参数的长度
    char *p;//用来指向char数组中某个下标的地址
    char a[len];//定义一个len长度的char数组
    //实现echo -n功能
    if(strcmp(argc[1],"-n")==0){
	for(i=2;i<argv;i++){	
            printf("%s ",argc[i]);
	    if(i==argv-2){
	        printf("%s",argc[argv-1]);
 		break;
	    }
	}
	//实现echo -e功能
    }else if(strcmp(argc[1],"-e")==0){
        for(i=0;i<len;i++){
	    a[i]=argc[argv-1][i];
	    }
	for(j=2;j<argv;j++){
		len=strlen(argc[j]); 
	    for(i=0;i<len;i++){
	    	p=&a[i];
	   	if(a[i]=='\\'){
	        if(a[i+1]=='n'){
		      a[i]='\n';
		      i++;
		}else if(a[i+1]=='a'){
		    a[i]='\a';
		    i++;
		}else if(a[i+1]=='b'){
		    a[i]='\b';
		    i++;
		}else if(a[i+1]=='f'){
		    a[i]='\f';
		    i++;
		}else if(a[i+1]=='r'){
		    a[i]='\r';
		    i++;
		}else if(a[i+1]=='t'){
		    a[i]='\t';
		    i++;
		}else if(a[i+1]=='\\'){
		    a[i]='\\';
		    i++;
		     }
	    }
	    printf("%c",*p);
	    }
            printf(" ");		
	}
	printf("\n");
    }else{//实现echo 功能
	for(i=1;i<argv;i++){
       	    printf("%s ",argc[i]);
	    if(i==argv-2){
	        printf("%s\n",argc[argv-1]);
		break;
	    }
	}
    }
    return 0;
}

将代码编译成myecho.out文件后,改名为myecho(因为linux下的可执行文件是忽略后缀名的)

添加到环境变量中

cd ~   去到home目录
ls -la		列出所有在home下的文件及文件夹
vim bashrc		进入到文件中

找到home目录下的.bashrc文件

然后在文件内找到相应的位置输入

	alias  myecho = '这里写入你可执行文件的绝对地址',如: /home/youyou/workspace/task/t2/myecho

然后保存文件,退出到终端

source .bashrc

在终端中输入这个命令可以快速刷新文件
然后就可以在终端的任意位置正常使用自己编写的myecho命令了。

在这里插入图片描述

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值