Menyiapkan alias di zsh

75

Saya tahu bahwa dalam bash Anda dapat mengatur alias dalam file .bash_aliases sehingga perintah yang Anda ketikkan tidak perlu berupa perintah yang disimpan dalam binari dalam sistem. Apakah ada cara saya bisa memasukkan alias ke dalam zsh?

Thomas Ward
sumber

Jawaban:

43

Anda dapat melakukannya dengan perintah "alias" dengan sintaks ini:

alias [ -gmrL ] [ name[=value] ... ]

untuk sakelar "gmrL", lihat panduan ini, yang merupakan referensi saya. Untuk setiap nama tanpa nilai, zsh akan mencetak nama dan apa namanya sebelumnya. Tanpa argumen sama sekali, alias mencetak nilai-nilai SEMUA alias yang ditentukan.

Untuk mendefinisikan satu atau lebih alias, cukup masukkan

alias name1=value1 name2=value2 ... nameX=valueX

Untuk setiap nama dengan nilai yang sesuai, zsh mendefinisikan alias dengan nilai itu. untuk info lebih lanjut, lihat tautan itu ;-)

Perbarui: memperbarui tautan mati.

sazary
sumber
Dokumen itu menjawab pertanyaan saya dengan tepat. Terimakasih banyak.
Thomas Ward
Tautan itu rusak.
Soham Chowdhury
memperbarui tautan.
sazary
8
jawaban ini melewatkan bagian tentang di mana untuk bertahan alias, jawaban Kurtosis memasukkannya (.zshrc).
Felix
1
Saya menggunakan ~/.profileuntuk menyimpan semua alias saya peduli dan sumber ~/.profiledari ~/.zshrc.
danba
140

Saya bolak-balik antara bash dan zsh, dan menggunakan file .aliases yang sama untuk keduanya. Mereka berbagi sintaks alias dasar yang sama, sehingga Anda dapat membuat file .aliases dan menautkannya ke .bashrc dan .zshrc:

.bashrc:

if [ -f ~/.aliases ]; then
    . ~/.aliases
fi

.zshrc:

source $HOME/.aliases

Fwiw ini juga dapat dilakukan dengan deklarasi variabel lingkungan, dalam file .env terpisah .

Kurtosis
sumber
Saya baru saja menambahkan sumber ~ / .bash_aliases ke akhir .zshrc, jadi semua alias bekerja baik pada bash dan zsh
talsibony
@talsibony seperti ini: ~/ .bash_aliasesSaya perlu sedikit bantuan, silakan jika Anda ada di sana,
jawab
@ lewis4u Seharusnya tidak ada spasi antara ~ / dan .bash_aliases. Itu harus persis ~ / .bash_aliases.
Kurtosis
Tautan Anda rusak ..
Ilan.b
10

Anda biasanya memasukkannya ke dalam ~/.zshenv. Tetapi banyak program yang menggunakan /bin/sh(biasanya bash) alih-alih $SHELLmengeksekusi perintah shell, jadi agar bisa bekerja di mana saja Anda mungkin perlu memasukkan yang bashsetara dengan alias ke dalam ~/.bash_aliases.

geekosaurus
sumber
Ini hanya untuk akun pengguna saya, jadi ini tidak perlu disalin ke file ~ / .bash_aliases.
Thomas Ward