我已經在C中編寫了一個簡單的shell,並且試圖獲取「;」操作員正常工作,這將是用戶鍵入命令1; command2插入命令行,shell執行第一個命令,然後執行第二個命令。但是,似乎無論出於何種原因,它只是執行第二個命令。任何人有一個想法爲什麼?加入運算符「;」在我的shell中工作不正常
這裏是我的代碼特定部分:
char* next = strchr(cmd, ';');
while (next != NULL) {
/* 'next' points to ';' */
*next = '\0';
input = run(cmd, input, first, 0);
cmd = next + 1;
next = strchr(cmd, ';');
first = 0;
}
可能是'cmd'錯誤(例如它是一個字符串文字) – 2014-10-28 06:18:00