Saya memiliki ini sebagai baris terakhir di profil saya:
alias gl="cd /home/jrenner/glances/glances"
namun bahkan setelah reboot saya mendapatkan perintah tidak ditemukan saat mengetik gl. Apa yang terjadi? Saya masuk sebagai pengguna yang benar.
command-line
bash
alias
.profile
talloaktrees
sumber
sumber
gl
? Terminal? GUI?.profile
tidak berfungsi dalam konteks apa pun yang saya coba: login konsol teks, terminal grafis, atau apa pun, meskipun variabel lingkungan dari file yang sama berfungsi.Jawaban:
Saya cukup yakin bahwa ide lpanebr akan berhasil, tetapi inilah solusi yang lebih elegan. Lakukan perintah alias itu di
.bashrc
Begitulah cara saya melakukannya, atau beberapa orang lebih suka menambahkan file yang didedikasikan untuk alias. Sebut saja.alias
atau apa pun dan tambahkan.alias
ke.bashrc
Seandainya saya bisa melakukan format seperti @ lpanelbr. Saya ingin tahu apakah ada wiki?
sumber
.bashrc
bekerja sementara.profile
tidak? Juga, alasan apa pun mengapa Anda memilih untuk memberi nama file alias.allias
daripada.alias
?Ada dua alasan terkait mengapa alias tidak selalu berfungsi saat dimasukkan ke dalam
.profile
file. Yang pertama adalah bahwa file.profile
(atau.bash_profile
) hanya dijalankan untuk shell login. Jika Anda memulai bash di jendela terminal di bawah X, emulator terminal Anda (mis. Gnome-termanl) mungkin tidak menjalankan bash sebagai shell login. [Sebagian besar memiliki opsi untuk mengubah ini jika Anda mau, tetapi default (untuk gnome-termal tetap) tidak menjalankannya sebagai shell login.]Shell akan menjadi shell interaktif dan karenanya
.bashrc
akan dijalankan.Namun, biasanya bash telah dijalankan sebagai shell login kembali ketika sesi X sedang dimulai. Jadi jika ada perintah alias di dalamnya
.profile
mereka akan dieksekusi bersama dengan pengaturan variabel lingkungan seperti PATH dll. Ketika jendela terminal dibuka, contoh baru bash dijalankan untuk meminta, dan jalankan perintah di jendela terminal itu. Tidak seperti variabel lingkungan, alias tidak dapat diekspor dari satu instance bash ke yang baru yang dimulai olehnya. Jadi alias tidak diteruskan ke shell baru.Untuk melihat ini, coba percobaan ini:
Catatan yang
.bashrc
tidak dijalankan oleh bash ketika dimulai sebagai shell login. Jadi menempatkan alias Anda di sana tidak akan selalu berhasil kecuali Anda.bashrc
berasal dari Anda.profile
, yang merupakan praktik yang sangat umum.sumber
source .bashrc
di.bash_profile
diperbolehkan alias set di .bashrc bekerja.~/.bash_aliases
. Itu cara yang tepat untuk melakukannya. (baca file .bashrc untuk detailnya).Jika Anda menggunakan bash (
echo $SHELL
) sebagai interpreter shell, saya pikir itu yang terbaik (atau mungkin satu-satunya cara) jika Anda mendefinisikan fungsi CD Anda sendiri.Edit
.bashrc
file Anda dan tambahkan berikut ini di akhir:Anda juga dapat memperluasnya seperti ini:
dan ubah langsung ke sub direktori dan daftarkan isinya.
sumber
alias
arahan yang ditempatkan dalam.profile
file gagal.Ini masalah dengan server saya. Sederhana
source .profile
tidak berhasil karena suatu alasansumber
Cara yang tepat untuk melakukan ini di Ubuntu adalah menambahkan alias ke
~/.bash_aliases
. Buat file jika tidak ada.File ini (jika ada) dipanggil dari default
~/.bashrc
, dan alias akan tersedia di emulator terminal Anda juga.sumber