Re: [ CN ] 有關作業一Spec

作者: q82419 (q82419)   2013-10-21 00:27:08
1.想請問這種情形:
$ cat test.txt |2
$ ls > test.txt
$ cat
第一個cmd的結果要pipe進第三個cmd的input
可是第二個cmd把ls的結果output到test.txt
那第三個cmd出來的結果會是ls的output還是原本的test.txt?
意思是,
$ cat test.txt |2 (cmd1) $
$ ls > test.txt (cmd2) 跟 $ ls > test.txt 是否相等?
$ cat (cmd3) $ cat test.txt
(往後pipe的command是否能在需要他的output時再exec?)
2.如果cat grep沒有給file name的話是從stdin輸入
假設在cat前沒有任何一個command的stdout pipe到cat的stdin
那要怎麼處理?從client read?
3.之前助教回答,若一行中有任何的command錯誤,則該行放棄
$ cat test.txt |2 (cmd1)
$ 123456789 (cmd2) (wrong)
$ cat (cmd3)
$ cat (cmd4)
如果有要pipe到後面的command,在圖中遇到錯誤的command如上,
那是cmd3的cat還是cmd4的cat接到cmd1的output?
(錯誤的command是否直接跳過不影響pipe?)
4. printenv, setenv的指令
是否是單獨指令,不會跟pipe有關?
$ cat test.txt | printenv(setenv PATH)
$ printenv(setenv PATH) |2
這兩種情形是否能直接判斷為不合法?
$ cat test.txt |1
$ printenv(setenv PATH)
是否不用理會cat的output直接做printenv或setenv?
5.
考慮到一次將結果送回client,
如果檔案太大buffer設不夠多的話會overflow
檔案大小是否有一個確切的限制?
或者有除了一次送回結果以外建議的處理方式?
謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com