Layar Mac Gnu tidak memuat .bash_profile default

14

Saya memiliki banyak pengaturan khusus di bash_profile saya. ketika saya menggunakan layar gnu, saya menyadari bahwa layar saya tidak dapat dijalankan source /Users/disappearedng/.bash_profile. Saya mencoba untuk meletakkan source / Pengguna / tampilanapp / .bash_profile di file .screenrc saya tetapi kemudian mengeluh bahwa alias bukan perintah ... (Saya kira screenrc perlu perintah khusus screenrc).

Saya telah mencoba mengubah .bash_profile saya menjadi .profile atau .bash_rc. Tidak ada yang berhasil.

Ada bantuan?

menghilang
sumber

Jawaban:

17

File .bash_profile (dan file .profile juga) dimuat untuk shell login, shell non-login menggunakan .bashrc (tanpa simbol _). Ada baris dalam file .screenrc yang memberitahu layar apa yang harus dimunculkan ketika memulai jendela layar (ketika tidak meluncurkan program tertentu sebagai aplikasi jendela). Dalam file .screenrc saya, begini (termasuk komentar juga):

# shell:  Default process started in screen's windows.
# Makes it possible to use a different shell inside screen
# than is set as the default login shell.
# If begins with a '-' character, the shell will be started as a login shell.
  shell -$SHELL

Periksa file .screenrc Anda dan verifikasi bahwa garis shell memiliki tanda hubung di depannya. Dengan memiliki simbol tanda hubung dan memaksa shell login, Anda akan mendapatkan .bash_profile Anda bersumber. Variabel $ SHELL di .screenrc saya menggunakan nilai shell seperti yang disediakan oleh shell yang meluncurkan layar (umumnya bagi saya itu bash).

Jika Anda bertanya-tanya, perbedaan terbesar yang saya dapat temukan antara shell login versus non-login adalah bahwa shell non-login biasanya digunakan untuk mengeksekusi skrip.

Matriks Mole
sumber
Ah terima kasih! Selain itu, apakah ada cara untuk dengan mudah memberi tahu diri saya bahwa jendela saat ini ada di dalam layar gnu?
menghilang
opsi hardstatus dalam file .screenrc dapat digunakan untuk membantu memastikan bahwa Anda dapat mengidentifikasi bahwa Anda berada di layar (bersama dengan beberapa pengaturan bagus lainnya juga saya mengerti). Halaman manual layar harus memiliki rincian tentang cara mengkonfigurasinya (tidak tahu yang berada di atas kepala saya).
Matrix Mole
2

Sumber .bash_profilesebenarnya adalah sesuatu yang berbeda yang dilakukan oleh aplikasi terminal Mac yang tidak dilakukan oleh sebagian besar aplikasi terminal. Layar tidak membaca ~/.bashrc, setiap kali Anda menelurkan shell baru.

Jika Anda mengganti nama ~/.bash_profilemenjadi ~/.bashrc(tanpa garis bawah antara bash dan rc, seperti dalam pertanyaan Anda), maka itu akan bersumber.

Namun strategi yang saya sukai adalah menempatkan semua pengaturan saya di bashrc, dan kemudian sumber dari bash_profileseperti ini:

[ -f .bashrc ] && . .bashrc
Freedom_Ben
sumber
-1

Anda tidak perlu mengubah file konfigurasi apa pun, jika Anda menulis semua pengaturan Anda .bash_profile, seperti yang biasanya Anda lakukan untuk mengatur terminal Anda, dan membuat tautan bernama .bashrcmenunjuk ke Anda .bash_profileuntuk sesi layar melalui:

$ ln -s ~/.bash_profile ~/.bashrc

Setiap perubahan yang dilakukan pada salah satu file disimpan .bash_profiletetapi juga dapat diakses oleh .bashrc.

Satu-satunya kelemahan adalah bahwa Anda tidak dapat menambahkan pengaturan hanya ke salah satu file konfigurasi.

keganjilan
sumber
Bisakah Anda memperluas sedikit jawaban ini? Anda belum benar-benar menjelaskan bagaimana ini akan menyelesaikan masalah.
bwDraco
-1

Linux shells shells sumber non-login dengan menambahkan baris berikut dalam kasus file pengguna:

[[ -f ~/.bashrc ]] && . ~/.bashrc
FreeFog
sumber
Solusi ini telah diposting.
slhck
Selain itu, tampaknya mundur.
G-Man Mengatakan 'Reinstate Monica'