用講過的各種C函數實現一個簡單的互動式Shell,要求:
1、給出提示符,讓用戶輸入一行命令,識別程序名和參數並調用適當的exec函數執行程序,待執行完成後再次給出提示符。
2、識別和處理以下符號:
簡單的標準輸入輸出重定向(<和>):仿照例 30.5 “wrapper”,先dup2然後exec。
管道(|):Shell進程先調用pipe創建一對管道描述符,然後fork出兩個子進程,一個子進程關閉讀端,調用dup2把寫端賦給標準輸出,另一個子進程關閉寫端,調用dup2把讀端賦給標準輸入,兩個子進程分別調用exec執行程序,而Shell進程把管道的兩端都關閉,調用wait等待兩個子進程終止。
你的程序應該可以處理以下命令:
○ls△-l△-R○>○file1○
○cat○<○file1○|○wc△-c○>○file1○
○表示零個或多個空格,△表示一個或多個空格