作者WalkingIce.bbs@ptt.cc (會走路的冰塊) 看板: linux
標題Re: [問題] shell 的 "|" operator
時間批踢踢實業 (2008/03/19 Wed 11:36:24)
※ 引述《softcloud (老哥交車了 Q_Q:)》之銘言:
: 請問一下 shell 底下有一個 '|' 的 operator
: 我看的文章講到
: cat my.txt | sort | uniq > my.txt
: 最後檔案會是 empty, 因為讀之前 overwrite my.txt
: 那我想問的是,shell的執行順序是由左到右嗎?
是的
左邊的 stdout 接到右邊一個的 stdin
: 還是他是開 multiprocess 去執行整個 command?
No
: 所以結果不一定對囉?
: 那如果我要左邊運算完 再經過右邊的運算再輸出一樣的檔案的話
: 那是不是要分成好幾行才可以呢?
不需要
walkingice@walkingice:~$ cat zzz
abc
123
124
ccc
123
walkingice@walkingice:~$ cat zzz |sort |uniq
123
124
abc
ccc
: 順便問 Linux 是多工嗎?那最早以前的 Linux(只有shell的版本) 下也是嗎?
: 新手的疑問 謝謝
在 Linux 0.01 release 時,Linus 就有寫道
(skip ..) use of system calls rather than message passing, a fully
multithreaded FS, minimal task switching, and visible interrupts ...
--
我想你會衰成這樣都是我害的
---- Tizzy Mac
緊張的麥金塔?這是誰(._.?)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.219.5.210