it-swarm-id.com

Alias: perbedaan antara .bash_rc, .bash_aliases dan / usr / local / bin

Bermain-main dengan Terminal, saya perhatikan bahwa ada banyak cara untuk membuat permanen alias.

Saya seorang pemula Linux, dan dari apa yang saya tahu, lakukan:

  1. Sudo ln -s /path/to/executable /usr/local/bin/desired_alias
  2. menambahkan desired_alias = '/path/to/executable' ke ~/.bashrc
  3. batalkan komentar pada baris tersebut di ~/.bashrc:

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

    dan menempatkan desired_alias = '/path/to/executable' ke dalam ~/.bash_aliases

semua memiliki efek yang sama.

Apa perbedaan antara metode pertama dan kedua?

8
Strae

Dengan metode pertama Anda tidak membuat alias, Anda membuat symlink. Symlink adalah kependekan dari tautan simbolik:

Tautan simbolik adalah file yang bertindak sebagai penunjuk ke file lain. [...] Tautan simbolik adalah jenis file khusus yang isinya adalah string yang merupakan pathname file lain, file yang dirujuk oleh tautan tersebut. Dengan kata lain, tautan simbolik adalah penunjuk ke nama lain, dan bukan ke objek yang mendasarinya.

Baca lebih lanjut tentang symlinks di sini dan di sini .

Hanya dengan metode kedua Anda, pada kenyataannya, membuat alias.

Alias ​​memungkinkan string untuk menggantikan kata ketika itu digunakan sebagai kata pertama dari perintah sederhana. Shell menyimpan daftar alias yang mungkin diatur dan tidak disetel dengan perintah builtin alias dan unalias (lihat Shell BUILTIN COMMANDS di bawah). Kata pertama dari setiap perintah sederhana, jika tidak dikutip, diperiksa untuk melihat apakah ada alias. Jika demikian, kata itu diganti dengan teks alias.

Anda dapat mendefinisikan alias di mana saja di mana Anda dapat mengetik perintah dan memiliki shell ( bash dalam kasus ini) menafsirkannya, namun agar alias untuk tersedia di shell lain yang perlu didefinisikan dalam file yang ditafsirkan oleh Shell saat startup (startup Shell, bukan startup komputer).

Untuk bash ini adalah /etc/bash.bashrc (lebar sistem) dan ~/.bashrc. File-file ini ditafsirkan ketika Shell mulai dalam mode interaktif (seperti saat menggunakan Terminal). Saya tidak akan menyebutkan file profil karena mereka melayani tujuan yang berbeda.

Jadi, Anda ingin menambahkan alias Anda ke ~/.bashrc agar tersedia di setiap Shell interaktif.

Metode .bash_aliases selesai persis hal yang sama seperti meletakkan alias di ~/.bashrc tetapi memiliki manfaat tambahan yaitu lebih mudah menjadi diuraikan dan dimanipulasi oleh program.

. ~/.bash_aliases berarti sumber (memuat) _~/.bash_aliases_ dalam konteks Shell yang sedang berjalan.

9
Li Lo