#include "stdio.h" #include "string.h" #define CMD_QUIT "quit" #define MAX_BUF 512 char achBuf[MAX_BUF+1] = {0}; int bFirstFlag = 1; void ReadCmd(void) { int nData = 0; int nIdx; while (1) { // here you can switch a command for use, now only use "quit" for quit if (0 == strcmp(achBuf, CMD_QUIT)) { break; } if (!bFirstFlag) { if (achBuf[0]) { printf("%scommand not found/n", "minishell$>"); } } else { bFirstFlag = 0; } memset(&achBuf, 0, sizeof(achBuf)); nIdx = 0; printf("%s", "minishell$>"); while ((nData = getchar()) != '/n') { if (nIdx < MAX_BUF) { achBuf[nIdx++] = (char)nData; } } fflush(stdin); } } int main(int argc, char **argv) { ReadCmd(); return 0; }