ZSH:
Jika Anda menggunakan zsh
alias -g ,,=".."
apa yang Anda butuhkan, tetapi ini akan menyebabkan ",," diperluas di mana-mana, tidak hanya saat digunakan bersama cd
.
Dari man zshbuiltins
:
Jika ada -g
bendera, tentukan alias global; alias global diperluas bahkan jika itu tidak terjadi pada posisi perintah.
PESTA:
Jika dibatasi bash
(karena pertanyaan ditandai dengan bash ), baca yang berikut ini:
Ini adalah solusi alias murni, seperti yang diminta, namun ini akan melakukan lebih dari yang diperlukan yang mungkin membuat frustasi pengguna (lihat peringatan di akhir posting saya).
Mengutip man bash
:
Jika karakter terakhir dari nilai alias adalah kosong, maka kata perintah berikutnya setelah alias juga diperiksa untuk ekspansi alias.
Karena itu cukup untuk alias cd
dengan ruang tambahan (untuk memungkinkan perluasan argumen berikutnya) dan kemudian alias ,,
ke ..
. Lihat itu
alias cd='cd '
alias ,,='..'
memberikan apa yang Anda butuhkan.
Perhatikan bahwa ini benar tidak hanya untuk bash
(dan alias
implementasinya), tetapi semua shell kompilasi POSIX. Mengutip contoh dari man 1p alias
(manual tidak menggambarkan fitur ini secara eksplisit, hanya melalui contoh):
Atur nohup agar dapat menangani argumen yang merupakan nama alias:
alias nohup="nohup "
Peringatan:
Ketika @PeterCordes menulis dalam komentarnya, ini akan secara otomatis menyebabkan alias lain ketika ditulis setelahnya cd
. Mungkin mengharuskan Anda untuk menulis cd \grep
jika Anda ingin mengubah direktori ke satu bernama grep
tetapi Anda grep
adalah alias untuk grep --color=auto
. Tanpa backslash, cd
akan melaporkan kesalahan "terlalu banyak argumen" (Anda tidak bisa cd
ke dua direktori sekaligus) !.
$ ,,
akan mengeluh, seperti:bash: ..: Is a directory
. (Dengan kata lain, ini bukan eksekusi.)