Sự khác biệt giữa các toán tử >> và> \>?


25

VĂN 6

Có sự khác biệt giữa các nhà khai thác >>và >\>? Tôi đã đọc những lời giới thiệu sau đây trong một cuốn sách đào tạo của RHEL:

"Bạn có thể thêm đầu ra tiêu chuẩn vào cuối tệp hiện có bằng mũi tên chuyển hướng kép bằng một lệnh như ls >\> filelist

Tôi quen với >>nhà điều hành hơn và khi tôi thử cả hai, tôi nhận được kết quả khác nhau.

  • Sử dụng >>dường như để nối đầu ra vào tệp theo sau nó (như mong đợi).
  • Sử dụng >\>dường như để nối đầu ra vào một tệp được gọi là >

Đây có phải là một lỗi trong cuốn sách tôi đang đọc không? Hay tôi đang thiếu quan điểm của tác giả?


@Sirex ngắn, nhưng một câu trả lời.
— jordanm

vâng, tôi đoán vậy
— Sirex

Câu trả lời:


45

Để nối văn bản vào một tập tin bạn sử dụng >>. Để ghi đè dữ liệu hiện tại trong tệp đó, bạn sử dụng >. Nói chung, trong bash và các shell khác, bạn thoát khỏi các ký tự đặc biệt bằng cách sử dụng \.

Vì vậy, khi bạn sử dụng echo foo >\>những gì bạn đang nói là "chuyển hướng đến một tệp có tên >", nhưng đó là bởi vì bạn đang thoát thứ hai >. Nó tương đương với việc sử dụng echo foo > \>giống như echo foo > '>'.

Vì vậy, vâng, như Sirex đã nói, đó có thể là một lỗi đánh máy trong cuốn sách của bạn.


12

trông giống như một lỗi đánh máy .. ... .. ..


1
Cảm ơn. Đã tự hỏi nếu tôi thiếu một số khái niệm linux đơn giản ở đây. =)
— Mike B
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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.