Làm thế nào để hiểu đầu ra của tiếng vang $ - $?


9

Làm thế nào để hiểu đầu ra của echo $-? Nó trông giống như một số loại nhân vật cờ. Tôi không thể có được manh mối bằng cách googling.

Câu trả lời:


14

Chúng đại diện cho các giá trị của cờ của vỏ; điều này được xác định bởi POSIX :

-

(Dấu gạch nối.) Mở rộng sang các cờ tùy chọn hiện tại (tên tùy chọn một chữ cái được nối vào một chuỗi) như được chỉ định trong lệnh gọi, bằng lệnh tích hợp setđặc biệt hoặc ẩn bởi trình bao.

Các nhãn hiệu Zsh đề cập đến nó một thời gian ngắn:

- <S> Cờ được cung cấp cho trình bao khi gọi hoặc bằng lệnh sethoặc setopt.

cũng như hướng dẫn Bash trong mô tả về set:

Các tùy chọn hiện tại có thể được tìm thấy trong $-.

Để hiểu đầu ra của echo $-bạn, bạn cần tra cứu các tùy chọn trong hướng dẫn sử dụng. Ví dụ, trong Bash, echo $-kết quả đầu ra himBHsđối với tôi, đó có nghĩa rằng -h, -m, -B-Htùy chọn được kích hoạt (xem help setđể biết chi tiết), mà vỏ là tương tác ( -i) và đọc từ đầu vào tiêu chuẩn ( -s).


Làm thế nào để tìm kiếm lệnh dựng sẵn? ví dụ , man set.
dcnh35

Sử dụng "/" để tìm kiếm. Có lẽ bạn đang tìm kiếm man bash, hoặc help setnhư đã đề cập trước đó, hơn là man set.
Stephen Kitt

Bất kỳ ý tưởng những gì ccờ có nghĩa là? Tôi thấy nó được đặt khi rsync đăng nhập và chạy .bashrc của tôi. Hướng dẫn bash cho setkhông đề cập c. Tôi đang chạy bash 4.2.46 (2).
Andrew Bainbridge

1
@Andrew nó phản ánh -ctùy chọn dòng lệnh; thấy bash -c 'echo $-'.
Stephen Kitt

2

Từ tài liệu tham khảo Bash :

đặt [+ abefhkmnptuvxBCEHPT] [+ o tên tùy chọn] [arg ...]

Không có tùy chọn, tên và giá trị của từng biến shell được hiển thị theo định dạng có thể được sử dụng lại làm đầu vào để đặt hoặc đặt lại các biến hiện được đặt.

...

Các tùy chọn được tắt theo mặc định trừ khi có ghi chú khác. Sử dụng + thay vì - làm cho các tùy chọn này bị tắt. Các tùy chọn cũng có thể được chỉ định làm đối số cho một lời gọi của shell. Tập hợp các tùy chọn hiện tại có thể được tìm thấy bằng $ -. Trạng thái trả về luôn luôn đúng trừ khi gặp phải tùy chọn không hợp lệ.

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.