Mulai ulang sepenuhnya Bash


18

Apakah ada cara untuk memulai ulang sepenuhnya Bash dan memuat ulang .bashrcdan .profiledan sejenisnya? Saya ingin memastikan perubahan saya berfungsi dengan baik setelah mengedit file-file ini.

Jawaban:


32

Apakah itu mengganti dirinya sendiri.

exec bash -l

Perhatikan bahwa ini tidak akan memengaruhi hal-hal seperti variabel cwd atau yang diekspor.


Bagus, tetapi saya terutama ingin melakukan ini untuk memeriksa dan melihat apakah saya PATHdiatur seperti yang saya inginkan atau saya PS1, dll.
Naftuli Kay

1
Keluarkan execdan Anda mendapatkan shell yang sumber file yang Anda inginkan. Kemudian tepat exitketika Anda selesai memeriksa.
Arcege

@TK: Setiap variabel yang Anda tetapkan akan diutamakan daripada yang tersisa dari shell sebelumnya.
Ignacio Vazquez-Abrams

Jadi ini akan berhasil untuk mengubah Bash prompt saya? Yaitu, itu akan memuat ulang bash prompt saya setiap kali saya menjalankannya?
Naftuli Kay

Selama Anda mengatur $PS1file startup bash, ya.
Ignacio Vazquez-Abrams

9

Saya menyarankan untuk masuk di jendela / layar terpisah. Dengan cara ini Anda masih memiliki sesi kerja jika terjadi kesalahan dengan perubahan Anda pada file startup. Anda juga yakin memiliki lingkungan yang bersih.

Alasan: Saya melihat terlalu banyak orang mengunci diri mereka dari suatu sistem karena kesalahan ketik yang sederhana pada profil. (Atau semacamnya).


+10, shell yang bersih tempat Anda dapat mengubah suntingan sangat penting.
Sardathrion

Aku di DE, jadi seharusnya tidak terlalu buruk, Bauhaus ya, hati-hati.
Naftuli Kay

3

Jika tujuan Anda hanya untuk membaca file yang dimodifikasi lagi, Anda tidak perlu me-restart itu. Anda cukup sumbernya.

source filename

atau

. filename # notice the dot

Perhatikan bahwa ini tidak akan memberi Anda "keadaan bersih" dalam arti bahwa itu tidak akan membatalkan variabel set atau fungsi yang ditetapkan ...


2
su -l yourOwnUserName

Akan membuka shell baru untuk yourOwnUserNamepengguna dengan semua pengaturan dimuat ulang. Ini adalah shell-independent, karena mengacu pada pengaturan sistem, bukan shell spesifik Anda. Itu juga memuat beberapa pengaturan seluruh sistem yang bash -ltidak (seperti grup pengguna).


catatan penting: "cangkang baru" di sini berarti cangkang di dalam cangkang Anda yang sudah ada, jadi Anda hanya cangkang yang bersarang, bukan menggantikan cangkang asli Anda. Jawaban yang diterima melakukannya dengan benar.
underscore_d
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.