Bash alias - = ... (nama alias harus berupa tanda hubung sederhana) tidak berfungsi

14

Saya ingin membuat alias cd -yang hanya berupa tanda hubung ( -). Saya mencoba tanpa hasil:

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.

Tiga mantan adalah sama (hanya input yang berbeda, tetapi bash mengubah semuanya menjadi perintah yang sama aliasdengan argumen tunggal -=cd -), jadi tidak mengherankan pesan kesalahannya sama. Saya menduga bahwa jika argumen dimulai dengan tanda hubung, itu diurai sebagai bendera daripada nama alias.

Apakah mungkin untuk menggunakan -nama alias?

tema
sumber
1
Tidak pernah tahu tentangcd -
Marco Ceppi
@MarcoCeppi Me juga, sampai hari ini. Periksa commandlinefu.com/commands/browse/sort-by-votes untuk trik yang lebih bagus!
Menunggu

Jawaban:

28

Dengan sebagian besar perintah, Anda bisa meneruskan --sebagai argumen, dan semua argumen berikutnya diperlakukan sebagai operan dan bukan opsi, bahkan jika mereka mulai dengan tanda hubung. The aliasbuiltin di bash mengakui --.

alias -- -='cd -'
Gilles 'SANGAT berhenti menjadi jahat'
sumber
1
Hah! Tidak tahu ini. Keren Terimakasih! :)
leemes