Bir terminal penceresini kapatıp yenisini başlatmak yerine nasıl yeniden başlatılır?


49

Kabuk / bash davranışında takma ad gibi bazı değişiklikler yaptığımda, yeni bir pencereyi kapatmak ve açmak yerine terminal penceresini yeniden başlatmak için hızlı bir komut var mı?

Yanıtlar:


51

.Bashrc yapılandırmanızı yeniden yüklemek isterseniz:

source ~/.bashrc

Daha az yazı yazmak için, sourcebir nokta ile değiştirebilirsiniz :. ~/.bashrc


2
İşte bir soru, bu nasıl farklı davranır source ~/.bashrc?
Ocak'ta 11:49

Öyle değil. Bash man sayfasına bakıldığında komutların denk olarak listelendiğini göreceksiniz.
Carsten Thiel

2
sourcebash'a özgüdür. .daha standart. Her ikisi de bash olarak aynı şekilde çalışır.
Michael Terry

1
Bu sadece PATH ve bazı ortam değişkenlerinizi yeniden yükler. Hiçbir şeyi "sıfırlamaz". @ NES'in cevabı doğru olanıdır.
Cerin

2
Bu hiçbir şeyi sıfırlamaz, PATH'inizde güncellemeler varsa, şimdi eski güncellemeleriniz ve yeni güncellemeleriniz olur.
Constantin

39

Manpage içinde reset / tset komutundan bulduğum bir miktar ekleme

tset reset terminal intialization

komut: reset

Tset terminalleri başlatır. İlk önce Tset, kullandığınız terminalin türünü belirler. Bu tespit, bulunan ilk terminal tipini kullanarak aşağıdaki şekilde yapılır.

Bir avantaj, kullanılan kabuğundan bağımsız olması gibi görünüyor. Burada da balıklarla çalışır.

Yani herhangi bir terminali yeniden başlatmak için sadece

$ tset

VEYA

$ reset

Ne yazık ki bu da yanlış. Mevcut ortam değişkenlerini sıfırlamaz.
isarandi

9

Ek bir seçenek de (veya ) exec bashtelefonunuzu değiştirirseniz,.profile.bash_profile

$ exec bash --login

Bu da profilini tekrar okuyacak. Açıkça bunun -ietkileşimli bir kabuk olduğunu açıkça söylemek için bir seçenek eklemek de acı vermez , ama normalde kendisi için çözebilir.


benim için de
yürütmeden

Maalesef yanlış da. Önceden ayarlanmış ortam değişkenleri hala orada ve sıfırlanmadı.
isarandi

6

Yapmalisin yerine yeni bir örneği ile çalışan uygulama / kabuk. Örneğin bash, tercih ettiğiniz kabuk olarak kullanıyorsanız , komut satırınıza aşağıdaki satırı yazın ( $ komut satırınızın başlangıcı için yer tutucudur):

> $ exec bash

Çalışan uygulama / kabuk, bashsıfırdan başlayarak yeni bir benzeri ile değiştirilir . Tüm önceki değişikliklerin gitti.

Not: Terminal başvurunuzun yeniden programlanabileceğini unutmayın. Terminal uygulamanızı manuel olarak sıfırlamanız gerekir.


2
"Yeniden programlanmış" derken ne demek istiyorsun?
Eliah Kagan

0

Kabuğunuz arayabileceğiniz bir çalıştırılabilir. Yani bash kullanıyorsanız arayabilir bashve zsh gibi başka bir şey kullanıyorsanız girebilirsinizzsh


0

Kullanın exec sudo --login --user $USER.

Ayrıca (terminalinin tam sıfırlama) disapper için önceden girilen komutları istiyorsanız, birleştirin resetolarakreset; exec sudo --login --user $USER

Web çevresinde birçok cevap var ama çoğu işe yaramıyor. Test etmenin kolay yolu, export SOMEVAR=42daha sonra sözde sıfırlama komutunu çalıştırmak ve yapmaktır echo $SOMEVAR. 42 ise, ortam sıfırlanmadı.

Ayrıca var exec -c bash -lya da exec env -i bash -lbunlar bozuk, bir şekilde $ HOME değişkeni bundan sonra ayarlanmadı.

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.