Ống chuyển hướng Linux


0

Tôi đã thử nghiệm một loại gián tiếp ngược và tình cờ thấy điều này. Tôi không chỉ định hành vi mong muốn vì không có hành vi nào - Tôi chỉ muốn hiểu kết quả - một liên kết sym đến một đường ống (chưa được đặt tên?)? Trong một vài bước, điều gì đang xảy ra?

pehlic@ely:~/src/bash/sandbox/bash$ ls -al >(cat)
l-wx------ 1 pehlic pehlic 64 Jan 13 23:39 /dev/fd/63 -> pipe:[26718]

Câu trả lời:


1

Điều này thực sự không thực hiện ls -alvà chuyển nó vào cat, nó đang thực hiện thay thế quy trình catvà trình bày dưới dạng một tệp ls -almà sau đó sẽ thực hiện một danh sách trên tệp.

Vì vậy, quá trình thay thế tạo ra một đường ống kết nối một đối tượng tệp và stdincủa chương trình "bên trong", catở đây và trình bày một tệp cho chương trình "bên ngoài". Sau đó, bạn làm một lsđiều đó, và thấy rằng nó đã cung cấp "tập tin" /dev/fd/63.


Đúng, quá trình thay thế - thx.
Charles Pehlivanian
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.