Di saya, ~/.profile
saya memiliki blok terakhir yang harus memuat pribadi saya bin/ directory
seperti ini:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Tapi sepertinya tidak dimuat:
echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Mengapa ini tidak berhasil? (Shell saya adalah bash.)
Edit untuk Tigger
echo $0 => bash
echo $HOME => /home/student
whoami => student
less /etc/*-release =>
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
.profile
, lihat askubuntu.com/questions/284640 .-x
flag yang diteruskan ke bash dan melihat di mana PATH diatur ulang. Juga, Anda perluexport PATH="$HOME/bin:$PATH"
menyediakannya untuk proses selanjutnya.Jawaban:
Dari atas
~/.profile
:Jadi (jika Anda menggunakan
bash
shell Anda) Saya menebak~/.bash_profile
atau~/.bash_login
ada di sistem Anda. Pilih satu dan edit untuk memasukkan:Kemudian simpan dan
source ~/.bash_login
atau keluar dan masuk kembali.Edit :
Anda mengatakan bahwa keduanya
~/.bash_profile
dan~/.bash_login
keduanya hilang dari Anda$HOME
. Saya pikir kita perlu mengkonfirmasi beberapa hal. Silakan kirim hasil berikut ini di pertanyaan awal Anda:Edit 2 :
Secara pribadi, saya tidak tahu mengapa
~/.profile
tidak dimasukkan dalam kasus Anda berdasarkan informasi yang diberikan dan dokumentasi. Saat pengujian saya memang melihat bahwa saya~/.profile
dipindai ketika sayassh
masuk tetapi tidak ketika saya meluncurkan terminal baru.Tapi, ada solusi sederhana yang memungkinkan
$HOME/bin
untuk dimasukkan dalam shell interaktif Anda. Edit (buat jika tidak ada)~/.bashrc
dan tambahkan baris berikut ke dalamnya:Simpan, keluar dan masuk kembali, atau
source ~/.bashrc
.The
export
garis bisa diperluas untuk memeriksa bahwa$HOME/bin
ada jika Anda suka dengan:Kenapa
~/.bashrc
bukannya file lain? Preferensi pribadi dan tampaknya lebih dapat diandalkan juga.sumber
~/.bash_profile
keduanya~/.bash_login
. Di saya~
hanya ada.bash_history
dan.bash_logout
(dan tentu saja.profile
).~/.profile
dilewati.The aturan untuk di-sumber file shell startup yang kompleks . Kemungkinan dengan pengaturan Anda,
.profile
tidak dimasukkan ketika Anda membuka terminal baru dalam sesi X (coba masukkan bagianecho .profile
dalam.profile
dan lihat apakah pesannya muncul ketika Anda memulai shell).harus memuat ulang profil secara manual.
Masuk dan keluar dari X juga harus menyebabkan
.profile
memuat.Atau, Anda dapat melakukannya
. $HOME/.profile
dari.bashrc
(saat menggunakan penjaga berbasis variabel untuk mencegah inklusi ganda) untuk memastikan.profile
selalu disertakan setiap kali Anda memulai shell.(Anda seharusnya tidak perlu
export PATH
karenaPATH
sudah menjadi variabel yang diekspor dan memodifikasi nilainya tidak akan mengubahexport
statusnya.)sumber
[ -z "$has___profile" ] || return; has__profile=1
) jadi saya tidak mendapatkan loop tak terbatas dan keduanya.profile
dan.bashrc
(hanya jika BASH_VERSION didefinisikan) tidak peduli bagaimana saya sampai di sana.bash -l
akan memuat.profile
(kecuali beberapa konfigurasi aneh). Selain itu, PATH harus ditetapkan dengan benar ketika pengguna masuk. Itu berarti dalam "manajer tampilan" (dm) yang digunakan: gnome, KDE, xfce, lxde, dll.Jika Anda ingin
.profile
dimuat, Anda hanya perlu memulai shell login:Itu sudah cukup untuk sesi lari. Anda dapat membandingkan PATH sebelum dan setelah pesta login telah dimulai untuk mengkonfirmasi perbedaannya.
Untuk solusi yang lebih permanen, Anda perlu memulai shell login di beberapa titik sebelum terminal (konsol) Anda dimulai. Login sebagai pengguna tertentu terjadi pada beberapa dm (manajer tampilan) (gnome, kde, xfce, lxde, dll). Seharusnya merupakan tugas mereka untuk mengubah variabel PATH lingkungan agar sesuai dengan kebutuhan Anda.
Sebagai contoh, untuk xfce, solusinya adalah mengubah
xinitrc
:Untuk gnome, tampaknya file yang akan diubah adalah
~/.pam_environment
.Dan untuk KDE, ikuti panduan ini , untuk membuat file, Anda dapat menggunakan kode ini:
sumber