#include #include #include #include #include #include #include #include int main()
; char cmd[1024] = ;
printf("shell:");
fflush(stdout);
//%[^\n] 遇到\n結束輸入
//%*c 刪除最後乙個字元
if(scanf("%[^\n]%*c",cmd) != 1)
//解析輸入輸出重定向
char *ptr = cmd;
int flag = 0;
while(*ptr != '\0')
if(*ptr == '>')
while(*ptr != '\0' && isspace(*ptr))
strcpy(file,ptr);
}ptr++;
}//解析字元
ptr = cmd;
char *ar**[32] = ;
int argc = 0;
while(*ptr != '\0')
else
ptr++;
} //建立子程序,執行命令
int pid = fork();
if(pid <0)
else if(pid == 0)
else if(flag == 2)
execvp(ar**[0],ar**); //替換程序
}wait(null); //接收子程序,避免子程序稱為殭屍程序(雖然不太可能)
return 0;
}
Shell教程十一 Shell 輸入 輸出重定向
大多數 unix 系統命令從你的終端接受輸入並將所產生的輸出傳送回 到您的終端。乙個命令通常從乙個叫標準輸入的地方讀取輸入,預設情況下,這恰好是你的終端。同樣,乙個命令通常將其輸出寫入到標準輸出,預設情況下,這也是你的終端。重定向命令列表如下 命令說明 command file 將輸出重定向到 fi...
Shell輸入輸出
重定向至檔案 echo用於顯示,read用於讀入,其中person是變數名字,shell中變數用字使用的時候用 框起來 input and output echo what s your name?read person echo hello,效果如下圖 顯示轉義字元 echo it is a te...
shell 輸入輸出
標準輸入 stdin 0,或者 鍵盤 標準輸出 stdout 1,或者 終端顯示器 標準錯誤輸出 stderr 2,2 或者2 指令執行失敗返回的錯誤資訊,終端顯示器 將輸出結果重定向到檔案中 1.覆蓋到檔案中 command outputfile 檔案的完整路徑 兩邊需要空格 2.追加到檔案中 新...