回文章列表
作者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
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻