Pertanyaan alias di .bashrc


Saya benar-benar baru di UNIX, jadi maafkan saya jika pertanyaan ini sangat bodoh.

Saya baru saja memulai magang, di mana saya diberi akses ke server pembangunan. Saya ingin memasukkan alias tertentu secara default di lingkungan saya ketika saya masuk. Dari apa yang saya pahami, cara melakukannya adalah memasukkannya ke dalam file .bashrc di direktori $ HOME saya. Tapi sepertinya tidak berhasil. Saya membaca bahwa hanya shell interaktif dan skrip pengguna yang dapat membacanya, apakah itu alasannya tidak berhasil? Saya menjalankan Bash. Jadi bagaimana saya akan melakukan ini?

Terima kasih sebelumnya!


4
2017-07-12 21:55


asal


Hanya shell interaktif yang dibaca .bashrc, tapi itu seharusnya tidak menjadi masalah karena Anda menggunakan shell interaktif, kan? Apa yang Anda coba sejauh ini? - David Z


Jawaban:


iman453, file-file perlu diberi nama .bashrc dan .bash_profile. Periode sebelum file berarti tersembunyi. Tahu apa versi Unix atau Linux server build yang sedang berjalan?

Di direktori home saya, saya punya

.
|-- .bash_history
|-- .bash_logout
|-- .bash_profile
|-- .bashrc
|-- .mozilla
|   |-- extensions
|   `-- plugins
|-- .ssh
|   |-- .config
|   |-- authorized_keys
|   |-- authorized_keys2
|   `-- known_hosts
|-- .viminfo
|-- .vimrc

Isi file .bashrc saya adalah:

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions
alias chknag='sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg'
alias ducks='sudo du -cksh * | sort -n | head -50'

Isi dari .bash_profile:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/sbin:/usr/bin:/sbin

export PATH

Ketika saya SSH ke mesin ini setelah saya mengotentikasi saya memiliki akses ke alias bebek.


2
2017-07-13 20:57



Oh, mengubah profil bash saya untuk meniru karya Anda! Terima kasih :) - iman453


Di dalam Anda ${HOME}/.bash_profile, tambahkan yang berikut:

# source the users bashrc if it exists
if [ -e "${HOME}/.bashrc" ] ; then
  source "${HOME}/.bashrc"
fi

4
2017-07-12 21:58





Dari man bash:

Ketika bash dipanggil sebagai shell login interaktif, atau sebagai non-inter          shell aktif dengan opsi --login, pertama kali membaca dan menjalankan perintah          dari file / etc / profile, jika file itu ada. Setelah membaca          file itu, ia mencari ~ / .bash_profile, ~ / .bash_login, dan ~ / .profile,          dalam urutan itu, dan membaca dan mengeksekusi perintah dari yang pertama itu          ada dan bisa dibaca.

dan

Ketika shell interaktif yang bukan shell login dimulai, bash          membaca dan menjalankan perintah dari /etc/bash.bashrc dan ~ / .bashrc, jika          file-file ini ada.

Jika, misalnya, Anda masuk melalui antarmuka pengguna grafis dan kemudian memulai terminal yang menjalankan Bash, maka Anda berada dalam "shell interaktif yang bukan shell login".


2
2017-07-13 00:07





Anda harus memanggil .bashrc dari bash_profile Anda. Lihat di sini untuk Urutan eksekusi untuk shell login interaktif.


1
2017-07-13 07:59