Muat ulang. Profil bash tanpa keluar dan kembali lagi

81

Apakah mungkin untuk memaksa bash untuk memuat ulang file .profile tanpa keluar dan kembali lagi?

Matty
sumber

Jawaban:

102

Ini akan berfungsi untuk terminal saat ini:

. ~/.profile

.adalah bashbuiltin dan sinonim untuk source, lihat man bash:

. nama file [ argumen ]
sumber nama file [ argumen ]
     Baca dan jalankan perintah dari nama file di lingkungan shell saat ini (...).

Lukas Stejskal
sumber
18
Ini akan efektif hanya di terminal saat ini.
enzotib
@enzotib Apakah ada cara untuk mengatasinya?
Matty
14
@Matty: tidak, untuk membuat perubahan terlihat oleh seluruh lingkungan grafis, Anda hanya dapat memulai kembali sesi
enzotib
2
Satu-satunya masalah dengan ini adalah jika Anda menghapus sesuatu dari jalan itu tidak akan berlaku sampai Anda me
Aras
1
@Aras membuat POIN PENTING yang layak untuk ekspansi: Jika ada sesuatu yang dihapus dari ~/.profile, perubahan itu tidak akan berlaku setelah . ~/.profilememuat ulang. Misalnya, tambahkan fungsi untuk ~/.profile: function externalip () { curl http://ipecho.net/plain; echo; }, kemudian ~/.profile- IT WORKS. Sekarang hapus fungsi itu dari ~/.profile, lalu . ~/.profilelagi. Fungsi masih tersedia - hanya me-restart (keluar & masuk) akan menghapusnya.
Seamus
13

Jika Anda tidak ingin memulai shell baru tetapi menjalankan skrip di shell saat ini, Anda sumber itu:

source script_name.sh

source = .

Bash sourcebuilt-in adalah sinonim untuk perintah Bourne shell .(dot).

courtesy - tldp.org

Amey Jah
sumber