Bí danh Bash - = chụp (tên bí danh nên là một dấu gạch ngang đơn giản) không hoạt động


14

Tôi muốn tạo một bí danh cd -chỉ là dấu gạch ngang ( -). Tôi đã thử mà không thành công:

alias -='cd -'     # bash: alias: -=: Invalid option
alias \-='cd -'    # bash: alias: -=: Invalid option
alias '-'='cd -'   # bash: alias: -=: Invalid option
alias '\-'='cd -'  # bash: alias: `\-': Invalid alias name.

Ba cái trước giống nhau (chỉ có đầu vào khác nhau, nhưng bash biến tất cả chúng thành cùng một lệnh aliasvới một đối số -=cd -), vì vậy không có gì ngạc nhiên khi thông báo lỗi giống nhau. Tôi đoán rằng nếu đối số bắt đầu bằng dấu gạch ngang, thì nó được phân tích cú pháp dưới dạng cờ thay vì tên bí danh.

Thậm chí có thể sử dụng -như một tên bí danh?


1
Chưa bao giờ biết vềcd -
Marco Ceppi

@MarcoCeppi Tôi cũng vậy, cho đến hôm nay. Thanh toán lệnhlinefu.com/commands/browse/sort-by-votes để biết thêm các thủ thuật hay!
leeme

Câu trả lời:


28

Với hầu hết các lệnh, bạn có thể chuyển --như một đối số và tất cả các đối số tiếp theo được coi là toán hạng và không phải là tùy chọn, ngay cả khi chúng bắt đầu bằng dấu gạch ngang. Nội dung aliastrong bash nhận ra --.

alias -- -='cd -'

1
Hừ! Không biết điều này. Hay quá cảm ơn! :)
leeme
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.