mysh.c
来自「一个实现基本功能的shell命令解释器」· C语言 代码 · 共 69 行
C
69 行
/*********************************************///File : mysh.c mysh.h//Function: add_histry histry_cmd//Var val : argv[](cmd input)//Return val: none//Authir : Moxudong//Version : V1.0//Last amend : 2009-03-05 by Mxd/*********************************************/#include "myfun.h"char add_histry(char *buff, char cmd_histry[][50], int *num){ strcpy(cmd_histry[num[0]], buff); num[0]+=1; return 0;}char *histry_cmd(char cmd_histry[][50], char *a, int *num, char *argv[]){ char temp[MAX/8] = "\0", info[MAX/8] = "\0"; int number = num[0];//The last cmd!!! in here! strcpy(info, "[ysh@"); getcwd(temp, 100); strcat(info, temp); strcat(info, "]# "); while(1) { printf("\r%s", info); if(*a == -1) { *a = 0; if(++number >= num[0])//down { number = num[0]; printf(" "); printf("\r%s", info); } else { printf("\r "); printf("\r%s", info); printf("%s", cmd_histry[number]); } } else if(*a == -2) //up { *a = 0; if(--number <= -1) { number = 0; } else { printf("\r "); printf("\r%s", info); printf("%s", cmd_histry[number]); } } else if(*a == '\r' || '\n') { printf("\r\n"); return cmd_histry[number]; } *a = getch(); } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?