Özel .bash_profile ile Terminal'de garip davranış


8

Davranışı tanımlamak zor, ancak işte kısa bir klip:

http://www.youtube.com/watch?v=9KqHBA94FPI

Temel olarak, çok satırlı komutlar girilirken, ilk satırın sonunda, ekleme bloğu ilk satırın başlangıcına geri döner, ilk satırın üzerine yazar, ardından ikinci, üçüncü vb. Satırlara normal şekilde devam eder. . Silerken, tüm komutu ve ayrıca komutun üstündeki satırdaki boşlukları silmeme izin veriyor (Kullanıcı @ host / Directory bilgilerini içeren bir satırdan sonra komutların eklenmesini sağladım. Dizin ve ana bilgisayarın yukarıda açıkladığım son bölümü Maalesef bunu açıklamaktan korkuyorum, video daha iyi bir iş çıkaracak.

İşte benim .bash_profile içeriği:

export PS1="\e[31m\u\e[0m@\e[34m\h\e[33m\w\n \$ \e[0m "

Yanıtlar:


12

Basılamayan karakterlerinizi (bu durumda ANSI kaçış dizileriniz) bash kaçış dizileriyle çevrelemeniz gerekir: \[ve \]. Bu şekilde bash, ekteki karakterlerin görünür olmadığını bilir, yani. yani yer kaplamazlar. satır kaydırıcı tarafından kullanılan kelime uzunluğu hesaplamasına dahil edilmemelidir.

başka bir deyişle PS1tanımınızı değiştirin :

export PS1="\e[31m\u\e[0m@\e[34m\h\e[33m\w\n \$ \e[0m "

… İçin:

export PS1="\[\e[31m\]\u\[\e[0m\]@\[\e[34m\]\h\[\e[33m\]\w\n \$ \[\e[0m\] "

Ve işte aynı PS1değer, sadece okunabilirlikle, belki de daha iyi okunabilirlikle (alt satırda ANSI kaçışları, ortada bash kaçışları ve üst sıradaki baskı karakterleri).

          \u          @          \h          \w\n \$
\[      \]  \[     \] \[      \]  \[      \]        \[     \] 
  \e[31m      \e[0m     \e[34m      \e[33m            \e[0m    

Daha fazla okuma:


Bu mükemmel, sorunumu çözdü. Yardımınız için çok teşekkürler!
Blair Beck

Blair, Farklı Sormaya hoş geldiniz! Sorunuza bir cevap istiyorsanız lütfen oy verin ve kabul edin.
nohillside

0

Ben herkes

Benzer problemlerim vardı ve sadece PS1 değişkenimi orijinal olandan çok basit olana değiştirerek bir çözüm buldum, sadece ismim aslında: export PS1 = Alex

Artık terminalimin garip davranışı yok.

Umarım yardımcı olur.

Alex (Mac Lion 10.8'de)

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.