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