Kode dalam .bashrc tidak dieksekusi ketika saya membuka jendela terminal baru di Ubuntu 12.04. Saya perhatikan ini saat membuat file .bash_aliases. Alias tidak muncul ketika saya membuka terminal baru. Namun ketika saya mengetik source .bashrc
alias muncul.
.bashrc harus dijalankan setiap kali saya membuka jendela terminal baru bukan?
Bagaimana saya mewujudkan ini?
.profile
dibaca saat login, bukan saat Anda membuka terminal baru, kecuali ada kesalahan konfigurasi di suatu tempat. Selamanya: apakah Anda mengubah sesuatu dari konfigurasi default? Silakan jalankanps -o command $$ $PPID
di terminal dan salin-tempel hasilnya..bashrc
di folder rumah Anda, kan?echo $SHELL
. Ini terjadi pada saya dan shellnya adalah / bin / sh bukannya bash. Perbaiki di / etc / passwd dan menjalankannya .bashrc.Jawaban:
Itu belum tentu berjalan; di bagian atas standar .bashrc adalah komentar ini:
Saya percaya ada opsi untuk menjalankan terminal bash sebagai shell login atau tidak. Dengan Ubuntu, gnome-terminal biasanya tidak berjalan sebagai shell login, jadi .bashrc harus dijalankan secara langsung.
Untuk kerang login (seperti terminal virtual), biasanya file tersebut
~/.profile
dijalankan, kecuali jika Anda memiliki baik~/.bash_profile
atau~/.bash_login
, tetapi mereka tidak ada secara default. Secara default, Ubuntu hanya menggunakan .profile.Standar
~/.profile
memiliki ini di dalamnya:Ini menjalankan .bashrc jika tersedia - dengan asumsi $ BASH_VERSION ada di lingkungan Anda. Anda dapat memeriksa ini dengan memasukkan perintah
echo $BASH_VERSION
, dan itu akan menampilkan beberapa informasi pada nomor versi - itu tidak boleh kosong.sumber
~/.bash_profile
atau~/.bash_login
. Anda dapat menguji dengan mencentang atau menghapus centang pada kotak centangEdit -> Profile Preferences -> Title and Command -> "Run command as a login shell
, dan keluar kemudian jalankan kembali terminal. Anda dapat menggemakan sesuatu dari .profile untuk menguji.~/.bash_profile
atau~/.bash_login
pada sistem Anda dan ingin menyimpannya, tetapi masih ingin~/.profile
dan dari sana~/.bashrc
dieksekusi, Anda dapat mengambilnya dari milik Anda sendiri~/.bash_profile
atau~/.bash_login
dengan baris yang berisisource "$HOME/.profile"
. Memberi Anda output berwarna ls juga di shell login!Dalam kasus saya, hanya
.bashrc
garis pemuat yang hilang.bash_profile
Saya menambahkannya secara manual dan bekerja dengan login baru saya
sumber
.bash_profile
? Ubuntu menggunakan secara.profile
default, bukan.bash_profile
.pcre
dan sepertinya menimpa profil bash alih-alih menambahkannya..bash_profile
memegang konfigurasi untuk bash shell. Saat Anda membuka terminal, terminal itu pertama kali membaca dan mengeksekusi perintah~/.bash_profile
. Jadi, Anda dapat menambahkan berikut ini.bash_profile
untuk mengatur shell sesuai dengan bashrc.sumber
~/.bash_profile
tidak akan dibaca (dan tidak ada secara default di Ubuntu)Jika
$BASH_VERSION
tidak disetel, coba gunakanchsh
perintah untuk mengatur shell Anda/bin/bash
.Saya memiliki masalah yang sama dengan 12,04 LTS, dan ternyata akun pengguna baru memiliki set default shell
/bin/sh
, yang merupakan penyebab masalah.sumber
Mengakses komentar di. Profil
Jadi begitulah, jika
~/.bash_profile
atau~/.bash_login exists
, itu akan dijalankan bukan~/.profile
jika Anda ingin menjalankan
~/.bashrc
hanya menambahkan barissource ~/.bashrc
dibash_profile
sumber
.bashrc
sedang bersumber sampai saya membuat sebuah.bash_profile
file yang. Jadi saya menambahkansource ~/.bashrc
baris ke.bash_profile
file saya .Alih-alih melewati semua itu hanya pergi
Edit -> Profile Preferences -> Title and Command -> "Run a custom command instead of my shell"
dan di kotak perintah Kustom menulisbash
dan menutupnya. Lain kali Anda akan membuka terminal, terminal juga akan menjalankan bash secara otomatis.sumber