Terminalde, $ öncesi gelen metni değiştirin


13

Terminalde her zaman hangi yolda olduğumu görebilirim:

macbook-romeo:School romeovs$ echo "example command"

ki oldukça faydalı buluyorum. Yine de burada çok fazla gereksiz şey var: macbook-romeoher zaman macbook'umda (duh) olduğum için yararlı değil. Sonra tekrar romeovsoldukça kullanışlıdır (bu benim kullanıcı adım).

Burada gösterilenleri düzenlemek ister misiniz? Örneğin

22:50 - School - Romeo$ echo "example"

22:50şimdiki zaman nerede (Bu sadece bir örnek, zamana ihtiyacım olmayacak, biraz daha minimalist olmak için metin gibi kullanırım).

Yanıtlar:


11

Bu OSX Daily makalesinde nasıl yapılacağı ile ilgili bazı ayrıntılı talimatlar bulunmaktadır. Kısacası ~/.bash_profiledosyanızı ve PS1 değişkenini değiştirmeniz gerekir.

Aşağıda, gösterebileceğiniz olası değişkenlerin bir listesi verilmiştir:

  • \ d - Geçerli tarih
  • \ t - Geçerli saat
  • \ h - Ana bilgisayar adı
  • # - Komut numarası
  • \ u - Kullanıcı adı
  • \ W - Geçerli çalışma dizini (ör: Masaüstü /)
  • \ w - Geçerli çalışma dizini, tam yol (ör: / Users / Admin / Desktop)

11

Ana dizininizde bulunan .bashrc dosyasını değiştirmeniz gerekir .

Terminali açın ve aşağıdakileri yapın:

  • cd ~
  • touch .bashrc
  • open .bashrc

.Bashrc dosyanızın sonuna aşağıdaki satırı ekleyin

PS1'i dışa aktar = '\ t - \ W - \ u \ $'

  • Dosyayı kaydedin ve düzenleyicinizi kapatın
  • Terminale geri dönün ve aşağıdaki komutu girin:

    kaynak .bashrc

Boom! Şimdi istediğiniz istemi almalısınız! (İstenirse, verilen örnek verilmişti)


Bunu yaptığımda aşağıdaki MBP-15:~ Daniel$ source .bashrc -bash: export: = ': geçerli bir tanımlayıcı değil -bash: export:\t - \W - \u$ ': not a valid identifier MBP-15:~ Daniel$
Daniel Compton

@DanielCompton Bunu işaret ettiğiniz için teşekkürler, cevabımın bu şekilde çalışması için güncelledim. :)
macaco

4

Bu, $ PS1 kabuk değişkeni tarafından kontrol edilir

Bu değişkeni, kullandığınız kabuğa bağlı olarak .login veya .profile komut dosyasıyla geçici olarak veya daha kalıcı olarak istediğiniz gibi ayarlayabilirsiniz.

Örnekler için aşağıdaki çıktıya bir göz atın:

Last login: Fri Oct 21 21:59:28 on ttys000

Dans-MacBook-Air:~ stuffe$ echo $PS1

\h:\W \u\$

Dans-MacBook-Air:~ stuffe$ PS1="Hello World $"

Hello World $PS1=`date`

Fri 21 Oct 2011 22:03:23 BSTsleep 60

Fri 21 Oct 2011 22:03:24 BSTPS1="`date +%H:%M` $"

22:04 $PS1="\h:\W \u\$"

Dans-MacBook-Air:~ stuffe$

İmkanlar sonsuzdur. PS2 ile de yapabileceğiniz bir şey var, ancak bence sadece kök iseniz etkili olur - ayrıntılar bulanık, Unix uzun zaman önce ve Mac OS X'e değil Solaris'e dayanıyor, ancak temeller aynı.

Ek bilgi: Diğer yanıtlarda önerildiği gibi, kullanabileceğiniz \ h ve \ W vb gibi yerleşik bayraklar vardır, ancak "geri keneler" (komik tek tırnaklar) kullanarak hemen hemen her komutun çıktısını da kullanabilirsiniz. yukarıdaki tarih örneğimde kullanıldı). Arka kenelerdeki komutlar çalıştırılır ve çıktı değiştirilir, yerleşik bir bayrak olmasa bile, görünüşte aptalca şeyler için bile, ne düşünürseniz düşünün, her şeyi dahil etmenizi sağlar. Son giriş zamanını bir hata günlük dosyasına eklemek ister misiniz? Şunun gibi bir şey kullanın:

PS1="`tail -1 $LOGFILE | awk '{print $1}'` $ "

($ LOGFILE tarafından başvuruda bulunulan dosyanın son satırını okuyun ve varsayılan alan ayırıcı olduğunu varsayarak 1. sütunu yazdırın) vb. Uygulayabilirseniz, ekleyebilirsiniz.

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.