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.