Probleme mit Zeilenumbruch bei langen Befehlen im Terminal

alexs77

Mitglied
Thread Starter
Dabei seit
25.11.2009
Beiträge
30
Reaktionspunkte
2
Hi!

Immer mal wieder stelle ich fest, dass das Terminal, bzw. die Shell BASH darin, keinen Zeilenumbruch macht, wenn's eigtl. nötig wäre. Vergleicht dazu am besten die beiden angehängten Screenshots.

Terminal - 1 - Vor Zeilenumbruch.png
Terminal - 2 - Kein Zeilenumbruch.png

Im konkreten war ich da gerade im Ordner mit dem Namen:

Bilder (@ "Für alle Benutzer")

(Ja, der heisst wirklich *exakt* *so*, also mit () und "" und ü).

Dann wollte ich in den Unterordner "Photos/[2009-06-10] Affenberg Salem" wechseln. Wie man auf dem 2. Screenshot sehen kann, hat's da mit dem Zeilenumbruch nicht geklappt. Im Terminal sieht man genau dies:

Code:
nberg\ Salem/ilder (@ "Für alle Benutzer") alex$ cd Photos/\[2009-06-10\]\ Affen

Dh. nach dem "Affen" hätte eigentlich ein Zeilenumbruch stattfinden müssen. Wurde aber nicht gemacht. Stattdessen wurde am Anfang der gleichen Zeile weitergeschrieben und "berg Salem" hat den Anfang des Prompts überschrieben.

Das sollte natürlich nicht so sein.

Code:
MacBook-Pro:~ alex$ echo $SHELL
/bin/bash
MacBook-Pro:~ alex$ $SHELL --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
Copyright (C) 2007 Free Software Foundation, Inc.
MacBook-Pro:~ alex$ echo $TERM
xterm
MacBook-Pro:~ alex$ echo $PS1
\h:\W \u\$

Auf meinen Linux Systemen ist das auch nicht so.

Jemand 'ne Idee, woran das wohl liegen könnte und wie man's fixen könnte?

Danke,
Alexander
 
hast du schon mal einen blick in deine terminal einstellungen geworfen?
bei mir klappt das hier mit dem zeilenumbruch.
hab xterm-color statt xterm als emulation.
 
Auch mit xterm-color habe ich die Probleme :( xterm-color hatte ich "ursprünglich", aber wg. dieser Probleme bin ich auf das "gebräuchlichere" xterm zurückgegangen.
 
was sagt denn echo $COLUMNS ?
ändert sich der wert, wenn du das fenster verkleinerst/vergrößerst?
 
Ich kann das von alexs77 beobachtete Verhalten bestätigen - ist bei mir auch so. Und auf die Frage von Dir oneOeight: Ja, die Variable COLUMNS wird bei Größenveränderung mit geändert.
 
oneOeight,

bist Du Dir *SICHER*, das es bei Dir klappt? Glaub ich nämlich nicht so ganz…

Mache doch mal bitte:

Code:
cd $HOME
mkdir -p 'Pictures/Bilder (@ "Für alle Benutzer")/Photos'
cd 'Pictures/Bilder (@ "Für alle Benutzer")/'<tab drücken>

Was passiert? Bei TERM=xterm und TERM=xterm-color habe ich dann KEINEN Zeilenumbruch (wie bei den von mir geposteten Screenshots sichtbar); bei TERM=ansi klappt's hingegen.

Welche locale hast Du?

Code:
MacBook-Pro:Photos alex$ locale
LANG="de_CH.UTF-8"
LC_COLLATE="de_CH.UTF-8"
LC_CTYPE="de_CH.UTF-8"
LC_MESSAGES="de_CH.UTF-8"
LC_MONETARY="de_CH.UTF-8"
LC_NUMERIC="de_CH.UTF-8"
LC_TIME="de_CH.UTF-8"
LC_ALL=

COLUMNS: Ja, ändert sich, wenn ich das Fenster in der Größe ändere.
 
so, hab es noch mal mit deinem ordnernamen probiert, das problem scheint das UTF-8 ü zu sein.
der umbruch klappt bis vor dem ü, wenn das ü noch mit auf der zeile ist, klappt der umbruch nicht mehr...

auf deinen linux systemen wird die inputrc für readline wohl so was in der art gesetzt gehaben:
# Be 8 bit clean.
set meta-flag on
set input-meta on
set output-meta on
 
Zuletzt bearbeitet:
Keine Ahnung, was bei Linux gesetzt ist - ist halt Linux, da klappt's Out-Of-The-Box ;) Auf jeden Fall musste ich mich da um so Low-Level Kram nicht kümmern.

Nuja, habe jetzt:

Code:
MacBook-Pro:~ alex$ cat .inputrc
set meta-flag on
set input-meta on
set output-meta on

Brachte aber nichts… :/ (Habe Terminal beendet und neu gestartet.)

Ach, und Grund warum die inputrc nichts brachte — ohne .inputrc erhalte ich:

MacBook-Pro:~ alex$ bind -V | egrep 'meta-flag|input-meta|output-meta'
input-meta is set to `on'
meta-flag is set to `on'
output-meta is set to `on'


Wie kann ich eigentlich sehen, welche Einstellungen die readline verwendet?
-> http://www.gnu.org/software/bash/manual/html_node/Readline-Init-File-Syntax.html -> bind -V zeigt's an.

Ach, der Grund warum die .inputrc nichts brachte:

Code:
MacBook-Pro:~ alex$ bind -V | egrep 'meta-flag|input-meta|output-meta'
input-meta is set to `on'
meta-flag is set to `on'
output-meta is set to `on'

Das erhalte ich, wenn ich die .inputrc lösche und Terminal neu starte; mit anderen Worten: Die Einstellungen sind per Default gesetzt.
 
Zuletzt bearbeitet:
Zurück
Oben Unten