Saya sedang menyiapkan mesin Linux baru yang saya dapatkan dari departemen TI kami, dan perhatikan .profile
tidak dimuat ketika saya memulai sesi terminal baru. Shell saat ini adalah Bash , meskipun saya mengubahnya dari sh default yang datang dengannya. Bagaimana saya membuatnya dimuat .profile
saat startup?
Saya mengakses shell melalui SSH : ssh myusername@remotemachine
. Saya memiliki hak administrator di dalamnya.
Jawaban:
Ketika Bash dimulai sebagai shell login interaktif, salah satu file yang dapat diproses adalah
~/.profile
.Ketika dimulai sebagai shell non-login interaktif, itu tidak. Itu proses
/etc/bash.bashrc
(jika file itu atau file serupa diaktifkan di versi Bash Anda) dan~/.bashrc
.Anda bisa menambahkan yang berikut ke
~/.bashrc
(tetapi hati-hati dengan loop atau nilai yang diubah secara tidak sengaja):sumber
[ -z "$SOME_VAR_SET_IN_PROFILE" ] && . ~/.profile
Ini tergantung bagaimana Anda memulai shell. Seperti yang orang lain katakan, shell login akan memuat profil Anda (ia akan mencari .bash_profile terlebih dahulu, kemudian akan mencoba .profile). Jika ia menemukan salah satunya, ia akan memuatnya. Shell non-login (baik interaktif atau non-interaktif) akan sumber .bashrc.
Saya sarankan memasukkan semuanya ke .bashrc. Perpecahan .profile / .bashrc agak arbitrer dan lebih masuk akal di masa lalu UNIX ketika tty bukan hanya nama perangkat dan berarti TeleType yang sebenarnya. Itu dimaksudkan untuk memulai hal-hal tertentu (seperti memeriksa surat) pada login 'utama' ke server, dan hanya pengaturan normal untuk shell lainnya. Di sebagian besar Linux Anda akan masuk sekarang, Anda tidak benar-benar masuk ke shell, karena Anda masuk ke beberapa antarmuka grafis (KDE, gnome, CDE 'shudder'). "Proses masuk spawn" sekarang ditangani oleh manajer sesi Anda. Ini jauh kurang relevan sekarang.
Saran saya: Jadikan profil Anda hanya terdiri dari:
sebagai baris pertama .bashrc, waspadai hal-hal aneh yang terjadi ketika menjalankan skrip bash dengan melompat lebih awal:
sumber
.profile
harus dijaga agnostik pesta. Saya sarankan untuk mengkonfigurasi.bash_profile
untuk memuat.profile
dan memuat.bashrc
. hanya memasukkan barang-barang agnostik ke dalam.profile
, sukaPATH
danLC_*
barang - barang. Masukkan sisanya.bashrc
.