Ich verwende die Standardversionen von Bash und Screen in OS X Lion.
Wenn ich mich in einer Bildschirmsitzung befinde und durch den Bash-Verlauf zurück scrolle, komme ich zu einem Befehl, der lang genug ist, um ihn zu beenden.
Ich könnte zuerst einen Befehl eingeben:
selassid@tem02:~$ ls ljmix/fiftyfifty_softsphere/T0.350/r2.43/0.565421311859c0.1
83279836214c0.144847759343/
Das wird wie oben beschrieben ordnungsgemäß verpackt, aber wenn ich nach oben drücke, um über den Bash-Verlauf darauf zuzugreifen, wird auf der Konsole nur Folgendes angezeigt:
83279836214c0.144847759343/
Daher fehlen die Eingabeaufforderung und die gesamte erste Zeile des Befehls, was die Bearbeitung erschwert. Wenn ich zur ersten Zeile zurück scrolle, wird diese angezeigt, die letzte Ausgabezeile wird jedoch überschrieben. Wenn ich den Befehl ausführe, wird der Rest der ersten Zeile angezeigt und alles sieht wie erwartet aus:
selassid@tem02:~$ ls ljmix/fiftyfifty_softsphere/T0.350/r2.43/0.565421311859c0.1
83279836214c0.144847759343/
total 1792
...
selassid@tem02:~$
Was merkwürdiger ist, ist, dass wenn Sie den Verlauf verwenden, um auf den langen Befehl zuzugreifen, ihn aber noch nicht ausführt, Sie einen beliebigen C-a
Bildschirmbefehl verwenden, z. B. zu einem anderen Fenster und dann zurück wechseln oder wenn ich aus meinem aktuellen Terminalfenster heraus klicke und wieder hinein, der Befehl history wird nun wieder richtig angezeigt.
Also PS1='\u@\h:\w$ '
, da ist nichts Seltsames los.
Gibt es eine Möglichkeit, den gesamten Befehl bei Verwendung des Verlaufs korrekt anzuzeigen? Ich habe versucht, mit den Einstellungen für den Bildschirmumbruch zu spielen, aber sie machen die Sache nur noch schlimmer.
stty -a
zeigt an:
speed 9600 baud; 46 rows; 80 columns;
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl
-echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo
-extproc
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel iutf8
-ignbrk brkint -inpck -ignpar -parmrk
oflags: opost onlcr -oxtabs -onocr -onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow
-dtrflow -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
stop = ^S; susp = ^Z; time = 0; werase = ^W;
TERM
ist xterm-256color
und tput am; echo $?
gibt mir nur 0.
stty -a
?