Câu trả lời:
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
set
hoặcsetopt
.
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
và -H
tù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
).
man bash
, hoặc help set
như đã đề cập trước đó, hơn là man set
.
c
cờ 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 set
không đề cập c
. Tôi đang chạy bash 4.2.46 (2).
-c
tùy chọn dòng lệnh; thấy bash -c 'echo $-'
.
đặ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ệ.
man set
.