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 >>>\>? 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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.