Mac OS X'te bash-line sarma ve backspace ekran hataları düzeltildi mi?


14

Terminal'i açtığımda (Mac OS X 10.5.8'de) ve uzun bir komut satırı yazdığımda: alternatif metin

... metin etrafa sarıldığında bir sonraki satıra gitmiyor: alternatif metin alternatif metin

Ayrıca, bazen bir komut yazıp geri tuşuna bastığımda (veya yukarı ok veya ^ U): alternatif metin

... tüm satır silinmez ve belirli bir noktanın ötesine geri dönemem: alternatif metin alternatif metin

Bu bilinen bir bash hatası mı (Mac OS X'te)? Bir düzeltme var mı?

Güncelleme: Juliano doğruydu, sorunun nedeni PS1 değişkenimdeki bir konsol kodu sırasını yanlış sınırlamaktı. Değiştirme:

export PS1='\[\033[1;34m\]\$\]\033[0m\] '

... benim .bashrciçin:

export PS1='\[\033[1;34m\]\$\[\033[0m\] '

... sorunu çözdü.


1
Şimdiye kadar gördüğüm bir terminal ekranının en güzel ekran görüntüleri için +1.
— sonraki duyuruya kadar duraklatıldı.

1
güncellemenizde gösterdiğiniz iki kod satırı aynıdır.
— Magne

İyi yakaladın, @Magne. Buna baktığımdan bu yana dört yıl geçti, bu yüzden özellikle hatırlamıyorum, ama "önce" nin eksik olduğunu varsayıyorum \].
— Daryl Spitzer

aynı değiller: birincisi \]'[`
— Ohad Cohen

Yanıtlar:


19

Davranış, isteminize konsol kodları koymaya (rengi değiştirmek, vb.) Ve bash'ın görünmez olduğunu bilmesi için düzgün bir şekilde işaretlenmemeye uygundur.

Başka bir şey yapmadan önce şunu yapın:

PS1='\w\$ '

Ve sonra tekrar deneyin. Sorun çözülürse, şüphelerim doğrudur.

Her bir konsol kod sırası ile ayrılmış gerekir \[ve \]PS1 değişkeninde. Bash'a orada ne varsa imlecin konumunu değiştirmediğini söylerler. Daha fazla bilgi için bash kılavuzunu okuyun.


Sorun buydu. Teşekkür ederim! Sorumu ayrıntılarla güncelleyeceğim.
— Daryl Spitzer

Peki ya sorunu çözmezse?
— levesque

3

Dezenfekte edilmiş bir bilgi istemi oluşturmaya yardımcı olmak için http://www.kirsle.net/wizards/ps1.html denemek oldukça harika. Sadece sorunuzdaki parantezlere dikkat edin, onlardan kaçmaya çalışır veya bir şey.


+1 @ Juliano'nun yanıtı teknik olarak doğru olsa da, bu bağlantı doğru tputkomutları belirleyen - bu da yeni ANSI kodlarını kullanarak düzeltilemeyen yeni satır, `` yeni satır ve diğer "geçmiş + geri boşluk" düzeltmelerini içeren bağlantıdır.
— Eric Duncan
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.