看板 PangSir 關於我們 聯絡資訊
※ 引述《q82419 (q82419)》之銘言: : 1.關於環境變數的部份 : 要有這個功能是有可會去exec除了cat ls grep以外的程式嗎? : 我的方法是在fork後exec前先檢查command是否正確 : 因此command有分類為cat ls grep setenv printenv 還有自己加一個exit : 如果是錯誤的command (123123) 或是cat ls grep以外的就不會去exec他 : 還是說不管正確性直接去exec就可以? 你可以在執行 exec 前先過濾 也可以直接丟給 exec 執行 我們不會故意在 bin 裡面加其他非作業要求之執行檔 重點是只要 Client 輸入錯誤指令時會給予錯誤訊息即可 : 2.承上,如果setenv在一長串有pipe的command中 : $ ls | cat -n | setenv . | ls | cat -n |5 : 在setenv後,所有之後的command path都是setenv的argument嗎? : 除了之後fork出去的process外,parent(原本的server)也要跟著setenv? 原則上我們把 setenv 當作單獨指令 所以你可以不用考慮 setenv 會在 pipe 中間這種情形 對一個 Client 連線 只要下 setenv 之後所有指令看到的 PATH 都應該是新的 你 server 只要確保這一點 我們不會關心你如何實作這部分 : 3.承1 : 自己加一個exit的command是允許的嗎? : 當client輸入這個exit的command,接到output後就close 你可以加 exit 但這個不在作業要求中 我們不會測這個 TA -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.28.128