Bash'i tamamen yeniden başlat


18

Bash'ı tamamen yeniden başlatmanın ve yeniden yüklemenin .bashrcve .profilebenzerlerinin bir yolu var mı ? Bu dosyaları düzenledikten sonra değişikliklerimin düzgün çalıştığından emin olmak istiyorum.

Yanıtlar:


32

Kendini kendisi ile değiştirsin.

exec bash -l

Bunun cwd veya dışa aktarılan değişkenler gibi şeyleri etkilemeyeceğini unutmayın.


Güzel, ama özellikle benim istediğim gibi PATHayarlanıp ayarlanmadığını kontrol etmek ve görmek için bunu yapmak istiyorum PS1.
Naftuli Kay

1
Çıkarın execve istediğiniz dosyaları kaynak bir kabuk olsun. Sonra sadece exitkontrol bittiğinde.
Arcege

@TK: Eğer herhangi değişkenler atamak olanlar her zaman öncelikli olacaktır önceki kabuk arta kalan.
Ignacio Vazquez-Abrams

Bu Bash istemimi değiştirmek için işe yarayacak mı? Yani, her çalıştırdığımda bash istemimi yeniden yükleyecek mi?
Naftuli Kay

$PS1Bash'ın başlangıç ​​dosyalarında ayarladığınız sürece , evet.
Ignacio Vazquez-Abrams

9

Acilen ayrı bir pencerede / ekranda oturum açmanızı öneririm. Bu şekilde, başlangıç ​​dosyalarındaki değişikliklerinizde bir sorun olursa hala bir çalışma oturumunuz olur. Ayrıca temiz bir ortama sahip olduğunuzdan da eminiz.

Sebep: Çok fazla insanın .profile (veya benzeri) dosyalarındaki basit bir yazım hatası nedeniyle kendilerini sistemden kilitlediğini gördüm.


+10, düzenlemeleri değiştirebileceğiniz temiz bir kabuk esastır.
Sardathrion - Monica'yı

Bir DE'deyim, bu yüzden çok kötü olmamalı, Bauhaus evet, dikkatli ol.
Naftuli Kay

3

Amacınız değiştirilen dosyaları tekrar okumaksa, yeniden başlatmanız gerekmez. Basitçe kaynak yapabilirsiniz.

source filename

veya

. filename # notice the dot

Bunun, ayarlanan değişkenleri veya tanımlanmış işlevleri ayarlamaması açısından size "temiz bir durum" vermeyeceğini unutmayın ...


2
su -l yourOwnUserName

yourOwnUserNameTüm ayarları yeniden yüklenen kullanıcı için yeni bir kabuk açar . Bu, kabuğunuzdan bağımsızdır, sistem ayarlarına atıfta bulunur, özel kabuğunuza değil. Ayrıca, sistem genelinde bash -lbulunmayan bazı ayarları da yükler (kullanıcı grupları gibi).


önemli not: "yeni bir kabuk" burada mevcut kabuğunuzdaki bir kabuk anlamına gelir, bu yüzden sadece kabuklarınızı iç içe geçiriyorsunuz, orijinal kabuğunuzu değiştirmiyorsunuz. Kabul edilen cevap bunu düzgün yapar.
underscore_d
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.