Bash: Sự khác biệt giữa toán tử> và >>? [đóng cửa]


38

Tôi là người mới và không biết nhiều về bash. Người hướng dẫn của tôi đã yêu cầu tôi thực hiện kịch bản mèo và quan sát đầu ra và sau đó cho biết toán tử> là gì và sự khác biệt giữa toán tử> & >> là gì? và tôi không thể tìm thấy bất kỳ biện minh nào. vì vậy, xin vui lòng giúp đỡ :)


Bạn có thể sử dụng các tệp tạm thời để có sự khác biệt giữa >> và>.
halp

Câu trả lời:


61

Dấu ">" được sử dụng để chuyển hướng đầu ra của chương trình sang một thứ khác ngoài thiết bị xuất chuẩn (đầu ra tiêu chuẩn, là thiết bị đầu cuối theo mặc định).

>> gắn vào một tệp hoặc tạo tệp nếu nó không tồn tại.
> Ghi đè tập tin nếu nó tồn tại hoặc tạo nó nếu nó không tồn tại.

Trong cả hai trường hợp, đầu ra của chương trình được lưu trữ trong tệp có tên được cung cấp sau toán tử chuyển hướng.

Ví dụ:
$ ls > allmyfiles.txt tạo tệp "allmyfiles.txt" và điền vào danh sách thư mục từ lệnh ls

$ echo "End of directory listing" >> allmyfiles.txt thêm "Kết thúc danh sách thư mục" vào cuối tệp "allmyfiles.txt"

$ > newzerobytefile tạo một tệp 0 byte mới với tên "newzerobytefile" hoặc ghi đè lên một tệp hiện có cùng tên (làm cho nó có kích thước bằng 0 byte)


3
Thêm sự chuyển hướng IO tuyệt vời: tldp.org/LDP/abs/html/io-redirection.html
Tim Bielawa

0

=> th> toán tử sử dụng để ghi đè tệp nếu tồn tại thông minh khác, nó sẽ tạo tệp mới EX cat> example1 => Nếu tệp 'example1' tồn tại hơn nó sẽ ghi đè lên tạo tệp mới => toán tử >> sử dụng để chắp thêm cuối tập tin EX mèo >> example1


4
Đó chính xác là thông tin giống như andyh_ky đã đăng trước đó. Không có điểm nào trong việc lặp lại một câu trả lời trước đó. Cũng không có điểm nào trong việc thêm một bình luận vô nghĩa.
John Gardeniers

-4

Không thể xác định vị trí trang hướng dẫn sử dụng bash ? Chỉ cần gõ man bash tại dấu nhắc lệnh.


Bạn có thể thử và thêm nội dung hữu ích vào bình luận của bạn. Họ vừa có một bài đăng trên blog nói về câu trả lời kiểu RTFM blog.serverfault.com/post/1306724710/rtfm Có thể bạn có thể đề cập rằng các toán tử> và >> được sử dụng cho chuyển hướng IO tldp.org/LDP/abs/html/io -redirection.html Tương tự như vậy <được sử dụng để đọc tệp vào stdin.
Tim Bielawa

Tôi đồng ý với @Tim. Tôi hoàn toàn ủng hộ phương pháp học "dạy một người đàn ông câu cá". Trong trường hợp này, tuy nhiên, và đặc biệt là cho người mới bắt đầu, có zero dấu hiệu cho thấy sản lượng redirectors được xử lý bởi vỏ của người dùng.
EEAA

-1 vì trang bash là một trong những trang khó theo dõi nhất mà tôi phải xử lý một cách thường xuyên.
Sparr

Thôi nào! Đây không phải là RTFM! Bạn có thể truy cập trang chủ của bash (và tôi đã cung cấp một liên kết đến nó) nhấn ctrl-F và gõ >> Điều đầu tiên nó thể hiện là cách sử dụng >> Plus, câu hỏi này là bài tập về nhà: Chúng tôi có trả lời bài tập về nhà không (đó là được trả lời bởi andyh_ky) hoặc chúng tôi chỉ ra câu trả lời ở đâu?
adamo

Làm thế nào để bảo anh ta tìm "trang hướng dẫn sử dụng bash" không phải là trường hợp Đọc Hướng dẫn F ******? Nó thậm chí còn có hướng dẫn từ trong đó!
Sam Cogan
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.