Ketika saya ssh ke ubuntu-box saya yang menjalankan Hardy 8.04, variabel lingkungan di saya .bashrc
tidak disetel.
Jika saya melakukan sumber .bashrc
, variabel diatur dengan benar, dan semuanya baik-baik saja.
Kenapa .bashrc
tidak dijalankan saat login?
.bashrc
dan.bash_profile
!Jawaban:
.bashrc
tidak bersumber ketika Anda masuk menggunakan SSH. Anda perlu sumber di.bash_profile
seperti ini:sumber
.bashrc
bersumber ketika Anda SSH masuk, secara default..bashrc
out-of-the-box - tetapi tidak dari.profile
, bukan.bash_profile
.Saya memiliki situasi yang sama seperti Hobhouse. Saya ingin menggunakan perintah
dan 'some_command' ada di '/ var / some_location' jadi saya mencoba untuk menambahkan '/ var / some_location' di lingkungan PATH dengan mengedit '$ HOME / .bashrc'
tapi itu tidak berhasil. karena default .bashrc (Ubuntu 10.4 LTS) mencegah dari sumber dengan kode seperti di bawah ini
jadi Jika Anda ingin mengubah lingkungan untuk ssh shell non-login. Anda harus menambahkan kode di atas baris itu.
sumber
bash # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac
Untuk sumber yang bagus tentang cara kerja bash, apa dotfile melakukan apa, dan bagaimana Anda harus menggunakan / mengkonfigurasinya, baca ini:
sumber
Jika solusi ayman ini tidak berhasil, cobalah penamaan file Anda
.profile
bukan.bash_profile
. Itu berhasil bagi saya.sumber
.profile
akan dieksekusi oleh shell login apa pun , terlepas dari apakah shell tersebut bermaksud memunculkan GUI. Komentar Anda benar-benar bertentangan dengan pertanyaan dan jawaban ini, yang dengan jelas menunjukkan bahwa.profile
dipanggil pada SSHing in - metode yang jelas bukan GUI.