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 cddengan 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 aliasimplementasinya), 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 \grepjika Anda ingin mengubah direktori ke satu bernama greptetapi Anda grepadalah alias untuk grep --color=auto. Tanpa backslash, cdakan melaporkan kesalahan "terlalu banyak argumen" (Anda tidak bisa cdke dua direktori sekaligus) !.
$ ,,akan mengeluh, seperti:bash: ..: Is a directory. (Dengan kata lain, ini bukan eksekusi.)