Trong Linux / AIX bao giờ, khi nào nó hữu ích để sử dụng --
, như trong lệnh này:
grep -- SOMEPATTERN
Trong Linux / AIX bao giờ, khi nào nó hữu ích để sử dụng --
, như trong lệnh này:
grep -- SOMEPATTERN
Câu trả lời:
Khi "SOMEPATTERN" bắt đầu hoặc có thể bắt đầu (ví dụ: nếu đó là biến "$PATTERN"
mà bạn không có toàn quyền kiểm soát) với -
ký tự (dấu gạch ngang).
Ngoài ra với GNU grep (trừ khi $POSIXLY_CORRECT
bật), sẽ hữu ích nếu các đối số khác (tên tệp) có thể bắt đầu bằng -
.
Ngoài ra, bạn có thể làm
grep -e -SOMEPATTERN- -- file1 file2 -xxx-
--
đánh dấu sự kết thúc của các lựa chọn. Nó hữu ích ở mọi nơi mà các đối số không phải là tùy chọn có thể bắt đầu bằng a dash
và nó không gây hại, vì vậy đó là một thói quen tốt để sử dụng nó.
Khi mô hình bắt đầu bằng dấu gạch ngang, nếu không grep sẽ nghĩ rằng đó là một tùy chọn. Nói rằng, bạn đang tìm kiếm "-a" trong một văn bản:
grep -a file.txt
grep sau đó sẽ cố gắng tìm mẫu "file.txt" trong đầu vào tiêu chuẩn, sử dụng tùy chọn -a
. Do đó, bạn cần phải làm
grep -- -a file.txt
grep
.