Hãy giải thích tại sao 1 4 5 6 được hiển thị cho bốn câu lệnh echo cuối cùng? Tôi đã vô tình gặp phải điều này một lần, nhưng bây giờ tôi tò mò về lý do tại sao hành vi này xảy ra.
Những tuyên bố này hoạt động như mong đợi (đối với tôi).
$ echo [ 9876543210 ]
[ 9876543210 ]
$ echo [237890]
[237890]
Các báo cáo tiếng vang này luôn hiển thị 1 4 5 6. Có điều gì đặc biệt về những con số này không?
$ echo [9876543210]
1 4 5 6
$ echo [abcd9876543210ghi]
1 4 5 6
$ echo [-123456-]
1 4 5 6
$ echo [-7654321-]
1 4 5 6
Cảm ơn!
- Bản sao có thể có liên quan và hữu ích, nhưng không phải là bản sao. Sự trùng lặp có thể là từ quan điểm của một
rm
lệnh. Câu hỏi này là từ quan điểm của một "hành vi kỳ lạ" nhận thức của mộtecho
lệnh. Câu trả lời cơ bản cho cả hai là Globing. Ai đó đang tìm kiếm các vấn đề với mộtecho
lệnh sẽ không dễ dàng tìm thấyrm
câu hỏi, nhưng nhiều khả năng sẽ hạ cánh ở đây.
nullglob
, ví dụ thứ hai ( echo [237890]
) của bạn sẽ thực sự không in gì, đó có thể là đầu mối mà bạn đang thấy mở rộng toàn cầu trong các ví dụ khác.
1
4
5
và6