Bagaimana saya bisa memuat ulang
.bash_profile
dari baris perintah ?
Saya bisa mendapatkan shell untuk mengenali perubahan .bash_profile
dengan keluar dan masuk kembali tetapi saya ingin bisa melakukannya sesuai permintaan.
Bagaimana saya bisa memuat ulang
.bash_profile
dari baris perintah ?
Saya bisa mendapatkan shell untuk mengenali perubahan .bash_profile
dengan keluar dan masuk kembali tetapi saya ingin bisa melakukannya sesuai permintaan.
Jawaban:
Cukup ketik source ~/.bash_profile
Atau, jika Anda suka menyimpan penekanan tombol, Anda bisa mengetik . ~/.bash_profile
alias reload='source ~/.bash_profile && echo "File .bash_profile reloaded correctly" || echo "Syntax error, could not import the file"';
. ~/.bash_profile
Pastikan Anda tidak memiliki dependensi pada kondisi saat ini di sana.
.
perintah dalam kasus ini?
.
hanyalah alias untuk source
perintah.
.
lebih tua dari source
is.
source
adalah implementasi spesifik bash dari.
.
dan source
secara harfiah hal yang sama di bash. Dari tautan: " source
adalah sinonim untuk titik / titik ' .
' di bash, tetapi tidak di POSIX sh, jadi untuk kompatibilitas maksimum, gunakan periode."
Cukup ketik:
. ~/.bash_profile
Namun, jika Anda ingin sumbernya untuk berjalan secara otomatis ketika terminal mulai bukannya menjalankannya setiap kali Anda membuka terminal, Anda dapat menambahkan . ~/.bash_profile
ke ~/.bashrc
file.
catatan:
Ketika Anda membuka terminal, terminal memulai bash dalam mode interaktif (non-login), yang berarti terminal akan bersumber ~/.bashrc
.
~/.bash_profile
hanya bersumber dari bash ketika dimulai dalam mode login interaktif . Itu biasanya hanya ketika Anda masuk di konsol ( Ctrl+ Alt+ F1.. F6), atau terhubung melalui ssh
.
Anda juga dapat menggunakan perintah ini untuk memuat ulang ~ / .bash_profile untuk pengguna tersebut. Pastikan untuk menggunakan tanda hubung.
su - username
Saya suka fakta bahwa setelah Anda baru saja mengedit file, yang perlu Anda lakukan adalah mengetik:
. !$
Ini sumber file yang baru saja Anda edit dalam sejarah. Lihat Apa bang dolar dalam bash .
cd
. .bash_profile
cd
. Tidak perlu ~
.
cd
- Anda hanya dapat memuatnya kembali dari direktori Anda saat ini di:. ~/.bash_profile
Jika Anda tidak keberatan kehilangan riwayat terminal shell Anda saat ini, Anda juga bisa melakukannya
bash -l
Itu akan memotong cangkang Anda dan membuka proses bash anak lain. The -l
parameter mengatakan bash untuk menjalankan sebagai shell login, ini diperlukan karena .bash_profile tidak akan berjalan sebagai shell non-login, untuk info lebih lanjut tentang ini baca di sini
Jika Anda ingin sepenuhnya mengganti shell saat ini, Anda juga dapat melakukan:
exec bash -l
Di atas tidak akan memotong shell Anda saat ini tetapi menggantinya sepenuhnya, jadi ketika Anda mengetiknya exit
akan benar-benar berakhir, daripada menjatuhkan Anda ke shell sebelumnya.
Tambahkan alias bashs="source ~/.bash_profile"
ke file bash Anda. Jadi, Anda dapat menelepon bashs
dari waktu berikutnya
reset
- lebih mudah diingat
jika .bash_profile tidak ada, Anda dapat mencoba menjalankan perintah berikut:
. ~/.bashrc
atau
source ~/.bashrc
alih-alih .bash_profile. Anda dapat menemukan informasi lebih lanjut tentang bashrc
Saya ingin memposting jawaban cepat yang saat menggunakan source ~/.bash_profile
atau jawaban yang disebutkan di atas berfungsi, satu hal yang perlu disebutkan adalah bahwa ini hanya memuat ulang profil bash Anda di tab atau sesi saat ini yang Anda lihat. Jika Anda ingin memuat ulang profil bash Anda di setiap tab / shell, Anda harus memasukkan perintah ini secara manual di masing-masing tab.
Jika Anda menggunakan iTerm, Anda dapat menggunakan CMD⌘+ Shift+ Iuntuk memasukkan perintah ke semua tab saat ini . Untuk terminal mungkin berguna untuk merujuk masalah ini ;
Anda hanya perlu mengetik . ~/.bash_profile
Saya menggunakan Debian dan saya cukup mengetik exec bash
untuk mencapai ini. Saya tidak bisa mengatakan apakah itu akan berfungsi pada semua distribusi lainnya.
. .bash_profile
sementara di dalam direktori home Anda di Mac akan melakukan pekerjaan itu. Sama seperti balasan yang diberikan di atas oleh 7urkm3n.
alias reload!=". ~/.bash_profile"
atau jika ingin menambahkan log melalui fungsi
function reload! () {
echo "Reloading bash profile...!"
source ~/.bash_profile
echo "Reloaded!!!"
}
. ~/. bash_profile
tidaksource ~/.bash_profile
Saya menjalankan Sierra, dan sedang mengerjakan ini untuk sementara waktu (mencoba semua solusi yang disarankan). Saya menjadi bingung sehingga akhirnya mencoba me-restart komputer saya! Itu berhasil
kesimpulan saya adalah bahwa kadang-kadang hard reset diperlukan
alias BASHRELOAD=". ~/.bash_profile"
. Jika Anda sering melakukan ini, Anda bisa menggunakan aliasbr
.