2012-09-13 32 views
14

Xin lỗi vì đã đăng nó ở đây, nhưng Google thực hiện một công việc rất xấu khi tìm kiếm các biểu tượng."|" là gì? có nghĩa là trong một dòng lệnh thiết bị đầu cuối?

"|" có nghĩa là:

"some string" | someexecutable.py 
+2

http://en.wikipedia.org/wiki/Pipeline_(Unix) –

+1

Trang người dùng 'bash' giải thích hành vi rất chi tiết - có điều gì bạn không hiểu ở đó không? –

Trả lời

16

Đây là biểu tượng đường ống. Nó tách hai chương trình trên một dòng lệnh (xem Pipelines trong hướng dẫn sử dụng bash) và đầu ra tiêu chuẩn của chương trình đầu tiên (trên LHS của đường ống) được kết nối với đầu vào chuẩn của chương trình thứ hai (trên RHS của đường ống)).

Ví dụ:

who | wc -l 

mang đến cho bạn một đếm số lượng người hoặc các phiên kết nối với máy tính của bạn (cộng với một cho dòng tiêu đề từ who). Để giảm giá dòng tiêu đề:

who | sed 1d | wc -l 

Đầu vào sed đến từ who, và đầu ra của sed đi vào wc.

Cuộc gọi hệ thống cơ bản là pipe(2) được sử dụng cùng với các cuộc gọi hệ thống fork(), dup2()exec*().

7

Nó được gọi là pipe. Nó cung cấp cho stdout của lệnh đầu tiên là stdin cho lệnh thứ hai.

Các vấn đề liên quan