Bagaimana cara membuat alias Bash?

189

Saya menggunakan OSX dan saya harus meletakkan sesuatu seperti ini, alias blah="/usr/bin/blah"dalam file konfigurasi tetapi saya tidak tahu di mana file konfigurasi itu.

mewah
sumber
Intinya, alias khusus ini pada dasarnya berlebihan kecuali Anda secara khusus mencoba mengesampingkan PATHresolusi shell untuk perintah khusus ini. Jika /usr/binada di Anda PATH(yang benar-benar harus) maka blahakan berjalan dari sana baik-baik saja tanpa alias ini juga, kecuali ada juga katakan /usr/local/bin/blahdan /usr/local/binada sebelumnya /usr/bindi Anda PATH tetapi Anda masih ingin /usr/bin/blahdan tidak dapat karena alasan tertentu cukup menghapus atau mengganti nama /usr/local/bin/blah.
tripleee
Meskipun demikian, ini adalah solusi meragukan yang diretas yang harusnya datang dengan komentar jelek besar gemuk dengan pesan peringatan yang memberi tahu Anda bagaimana ini akan menggigit perut bagian bawah Anda yang indah, dan pepatah lain yang mengatakan "Sudah kubilang" untuk setiap kali ini terjadi.
tripleee
1
Untuk semua pecinta otomatisasi: Saya pribadi menambahkan addAlias() { echo "alias $1='$2' " >> ~/.bash_profile ke bash_profile saya dan kemudian saya sumber dan jalankan addAlias hi 'echo "hi" '. Sumber profil bash dan ketik hiuntuk melihatnya.
devssh

Jawaban:

268

Anda dapat menambahkan aliasatau functiondalam file skrip startup Anda. Biasanya ini .bashrc, .bash_loginatau .profilefile di direktori home Anda.

Karena file-file ini disembunyikan Anda harus melakukan ls -auntuk membuat daftar. Jika Anda tidak memilikinya, Anda dapat membuatnya.


Jika saya ingat dengan benar, ketika saya membeli Mac saya, .bash_loginfile itu tidak ada di sana. Saya harus membuat untuk diriku sendiri sehingga saya bisa menempatkan prompt info, alias, functions, dll di dalamnya.

Berikut langkah-langkahnya jika Anda ingin membuatnya:

  1. Mulai Terminal
  2. Ketik cd ~/untuk pergi ke folder rumah Anda
  3. Ketik touch .bash_profileuntuk membuat file baru Anda.
  4. Edit .bash_profiledengan editor favorit Anda (atau Anda bisa mengetik open -e .bash_profileuntuk membukanya di TextEdit.
  5. Ketik . .bash_profileuntuk memuat ulang .bash_profiledan memperbarui alias apa pun yang Anda tambahkan.
jaypal singh
sumber
8
Luar biasa, terima kasih @aypal! Apakah perintah itu source .bash_profilemerupakan alternatif untuk langkah 5?
Ian Campbell
10
Ya di OSX Mavericks saya, tidak ada .bash_profiledir di rumah saya. Menciptakannya, menambahkan alias ke dalamnya, dan kemudian memulai dengan . .bash_profileperintah berhasil.
Bradley Flood
1
.bash_profile berfungsi untuk saya! :) .bashrc tidak di El Capitan
Parth
5
Pada OSX El Capitan .bash_profileberfungsi. Jika itu tidak memuat secara otomatis ketika Anda membuka jendela terminal, itu mungkin karena itu dibuat tanpa izin yang dapat dieksekusi. Perintah ini akan memperbaikinya dan secara otomatis akan memuat untuk sesi mendatang:chmod u+x .bash_profile
Mischinab
1
.bash_profile profile dikunci bagaimana saya bisa memperbarui file ini
amit gupta
31

Saya baru saja membuka zshrc dengan luhur, dan mengeditnya.

subl .zshrc

Dan tambahkan ini di sublim:

alias blah="/usr/bin/blah"

Jalankan ini di terminal:

source ~/.bashrc

Selesai

Gui Yoshi
sumber
4
Ini bingung. Jika shell Anda adalah Bash, banyak jawaban lain di halaman ini yang lebih detail dan bermanfaat. Jika Anda menggunakan Zsh, bukan Bash, maka jelas Anda harus source .zshrcdi akhir memuat perubahan yang Anda buat ke instance shell yang sedang berjalan.
tripleee
18

Dalam .bashrcfile saya , baris-baris berikut ada secara default:

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

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

Oleh karena itu, di platform saya .bash_aliasesadalah file yang digunakan untuk alias secara default (dan yang saya gunakan). Saya bukan pengguna OS X, tapi saya rasa jika Anda membuka .bashrcfile Anda, Anda akan dapat mengidentifikasi apa file yang biasa digunakan untuk alias di platform Anda.

jcollado
sumber
Jika profil tidak dimuat secara otomatis saat Anda membuka jendela terminal, itu mungkin tidak memiliki izin yang dapat dieksekusi. Perintah ini akan memperbaikinya dan secara otomatis akan memuat untuk sesi mendatang:chmod u+x .bash_profile
Mischinab
1
@Mischinab Tidak, file hanya perlu dibaca agar Bash dapat membacanya sebagai file konfigurasinya. Membuatnya dapat dieksekusi secara teknis tidak berbahaya tetapi tidak perlu. Saya akan mengecilkannya dengan alasan nonteknis (Anda mungkin akhirnya membingungkan diri sendiri dan / atau orang lain).
tripleee
9
cd /etc
sudo vi bashrc

Tambahkan seperti berikut:

alias ll="ls -lrt"

Akhirnya restart Terminal.

pengguna3613987
sumber
1
Setelah menambahkan alias. Jalankan 'sumber' pada file '.bash_profile' Anda. Contoh: source ~ / .bash_profile (perintah yang mengaktifkan / memuat ulang alias bash)
UIResponder
8

Ini bekerja untuk saya di macOS Majave

Anda dapat melakukan beberapa langkah sederhana:

1) terminal terbuka

2) sudo nano /.bash_profile

3) tambahkan alias Anda, misalnya:

# some aliases
alias ll='ls -alF'
alias la='ls -A'
alias eb="sudo nano ~/.bash_profile && source ~/.bash_profile"
#docker aliases
alias d='docker'
alias dc='docker-compose'
alias dnax="docker rm $(docker ps -aq)"
#git aliases
alias g='git'
alias new="git checkout -b"
alias last="git log -2"
alias gg='git status'
alias lg="git log --pretty=format:'%h was %an, %ar, message: %s' --graph"
alias nah="git reset --hard && git clean -df"
alias squash="git rebase -i HEAD~2"

4) source /.bash_profile

Selesai Gunakan dan nikmati!

ultimatum
sumber
7

File konfigurasi untuk skrip dan program adalah ~/.bashrcdan file konfigurasi yang dimuat ketika Anda menggunakan Terminal ~/.bash_login.

Saya pikir cara terbaik adalah memasukkan semuanya ~/.bashrc.

Untuk pertanyaan spesifik Anda cukup masukkan (ini akan menimpa ~ / .bashrc yang ada):

echo "alias blah=\"/usr/bin/blah\"" >>~/.bashrc

ke Terminal dan ~/.bashrcfile akan dibuat dengan alises baru Anda. Setelah itu cukup edit file untuk menambahkan alias baru, fungsi, pengaturan dll.

kmikael
sumber
5
Tidakkah seharusnya Anda menggunakan >>alih-alih >menambahkan file itu daripada mengganti semua yang ada di dalamnya?
Jonny
6
  1. Pergi ke rumah
  2. Buka .bashrc
  3. Buat alias di bagian bawah file

    alias alias_name='command to do'
    eg: alias cdDesktop='cd /Desktop'
  4. Simpan file

  5. sumber .bashrc

    source ~/.bashrc
  6. Buka terminal (Ctrl + Alt + T) & ketik cdDesktop & tekan enter

Pranav VR
sumber
5

MacOS Catalina dan Di Atas

Apple hanya mengganti shell default mereka ke zsh , jadi file konfigurasi menyertakan ~/.zshenvdan ~/.zshrc. Ini seperti ~/.bashrc, tetapi untuk zsh. Cukup edit file dan tambahkan apa yang Anda butuhkan; itu harus bersumber setiap kali Anda membuka jendela terminal baru:

nano ~/.zshenv alias py=python

Kemudian lakukan ctrl + x, y, lalu masuk untuk menyimpan.

File ini tampaknya dijalankan tidak peduli apa (login, non-login, atau skrip), jadi sepertinya lebih baik daripada ~/.zshrcfile.

Sierra tinggi dan sebelumnya

Shell default adalah bash, dan Anda dapat mengedit file ~/.bash_profiledan menambahkan alias:

nano ~/.bash_profile alias py=python

Kemudian ctrl + x, y, dan masuk untuk menyimpan. Lihat posting ini untuk informasi lebih lanjut tentang konfigurasi ini. Sedikit lebih baik untuk mengaturnya dengan alias Anda di ~/.bashrc, lalu sumber ~/.bashrcdari ~/.bash_profile. Di ~/.bash_profiledalamnya akan terlihat seperti:

source ~/.bashrc

kata selanjutnya
sumber
Ini seharusnya lebih tinggi sekarang karena Catalina adalah yang terbaru Mac OS
Cauder
4

Jika Anda menempatkan blah="/usr/bin/blah"di Anda ~/.bashrcmaka Anda dapat menggunakan $blahdi shell login Anda sebagai pengganti untuk mengetik/usr/bin/blah

SiegeX
sumber
Tanda dolar dengan tegas tidak dengan cara apa pun diperlukan, berguna, atau benar di sini.
tripleee
3

Anda mungkin ingin mengedit .bashrcfile di direktori home Anda.

ghoti
sumber
1

buat bash_profile di root - ex

/user/username/.bash_profile

membuka file

vim ~ / .bash_profile

tambahkan alias sebagai ex. (Simpan dan keluar)

alias mydir="cd ~/Documents/dirname/anotherdir"

di terminal baru ketikkan mydir - seharusnya terbuka

/user/username/Documents/dirname/anotherdir
Pravin
sumber
0

Saya pikir itu cara yang tepat:

1) Pergi ke teminal. open ~/.bashrc. Tambah jika tidak ada

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

2) open ~/.bash_aliases. Jika tidak ada:touch ~/.bash_aliases && open ~/.bash_aliases

3) Untuk menambah alias baru
- edit .bash_aliasesfile dan mulai ulang terminal atau cetak source ~/.bash_aliases
- cetak di echo "alias clr='clear'" >> ~/.bash_aliases && source ~/.bash_aliasesmana alias Anda berada alias clr='clear'.

4) Tambahkan baris source ~/.bash_aliaseske ~/.bash_profilefile. Perlu memuat alias di setiap init terminal.

Nik Kov
sumber
0

Untuk Pengguna macOS Catalina:

Langkah 1: buat atau perbarui file .zshrc

vi ~/.zshrc

Langkah 2: Tambahkan baris alias Anda

alias blah="/usr/bin/blah"

Langkah 3: Sumber .zshrc

source ~/.zshrc 

Langkah 4: Periksa Anda alias, dengan mengetikkan alias pada prompt perintah

alias
Shirish Singh
sumber
0

Untuk membuat pintasan alias permanen, letakkan di file .bash_profile dan arahkan file .bashrc ke file .bash_profile. Ikuti langkah-langkah ini (saya membuat perintah alias yang disebut bnode untuk menjalankan babel transpiler pada kode ES6):

  1. Buka prompt perintah terminal dan ketik "cd" (ini akan membawa Anda ke direktori home. Catatan: meskipun file pemrograman Anda mungkin terletak di "D: drive", file ".bash" Anda mungkin berada di " C: drive ”)
  2. Untuk melihat lokasi direktori home, ketik "pwd" (ini akan menunjukkan jalur direktori home dan di mana file .bash mungkin berada)
  3. Untuk melihat semua titik "." file di direktori home, ketik "ls -la" (ini akan menampilkan SEMUA file termasuk titik tersembunyi "." file)
  4. Anda akan melihat 2 file: ".bash_profile" dan ".bashrc"
  5. Buka file .bashrc di VS Code Editor atau IDE Anda dan masukkan “source ~ / .bash_profile” di baris pertama (untuk mengarahkan file .bashrc ke .bash_profile)
  6. Buka file .bash_profile di VS Code Editor dan masukkan "alias bnode = '. / Node_modules / .bin / babel-node'" (untuk membuat pintasan bnode permanen untuk dieksekusi sebagai perintah bash)
  7. Simpan dan tutup kedua file
  8. Sekarang buka file yang ingin Anda jalankan (index.js) dan buka di terminal command prompt dan jalankan file dengan menggunakan perintah "bnode index.js"
  9. Sekarang file index.js Anda akan dieksekusi tetapi sebelum membuat alias bnode dalam file .bash_profile Anda akan mendapatkan kesalahan "bash: perintah bnode tidak ditemukan" dan itu tidak akan mengenali dan memberikan kesalahan pada beberapa kode ES6.
  10. Tautan yang bermanfaat untuk mempelajari tentang dotfiles: https://dotfiles.github.io/

Saya harap ini membantu! Semoga berhasil!

Kean Amaral
sumber