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.
bash
shell
command-line
markdorison
sumber
sumber
alias BASHRELOAD=". ~/.bash_profile"
. Jika Anda sering melakukan ini, Anda bisa menggunakan aliasbr
.alias reload='source ~/.bash_profile && echo "File .bash_profile reloaded correctly" || echo "Syntax error, could not import the file"';
Pastikan Anda tidak memiliki dependensi pada kondisi saat ini di sana.
sumber
.
perintah dalam kasus ini?.
hanyalah alias untuksource
perintah..
lebih tua darisource
is.source
adalah implementasi spesifik bash dari.
.
dansource
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:
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 melaluissh
.sumber
Anda juga dapat menggunakan perintah ini untuk memuat ulang ~ / .bash_profile untuk pengguna tersebut. Pastikan untuk menggunakan tanda hubung.
sumber
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 .
sumber
cd
. .bash_profile
sumber
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 siniJika 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.sumber
Tambahkan
alias bashs="source ~/.bash_profile"
ke file bash Anda. Jadi, Anda dapat meneleponbashs
dari waktu berikutnyasumber
reset
- lebih mudah diingatjika .bash_profile tidak ada, Anda dapat mencoba menjalankan perintah berikut:
atau
alih-alih .bash_profile. Anda dapat menemukan informasi lebih lanjut tentang bashrc
sumber
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 ;
sumber
Anda hanya perlu mengetik
. ~/.bash_profile
lihat: /superuser/46139/what-does-source-do
sumber
Saya menggunakan Debian dan saya cukup mengetik
exec bash
untuk mencapai ini. Saya tidak bisa mengatakan apakah itu akan berfungsi pada semua distribusi lainnya.sumber
. .bash_profile
sementara di dalam direktori home Anda di Mac akan melakukan pekerjaan itu. Sama seperti balasan yang diberikan di atas oleh 7urkm3n.atau jika ingin menambahkan log melalui fungsi
sumber
. ~/. 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
sumber