Saya menggunakan versi default bash dan layar di OS X Lion.
Ketika saya dalam sesi layar dan saya gulir kembali melalui sejarah bash dan saya datang ke perintah yang cukup panjang untuk dibungkus.
Pertama-tama saya mungkin mengetik beberapa perintah:
selassid@tem02:~$ ls ljmix/fiftyfifty_softsphere/T0.350/r2.43/0.565421311859c0.1
83279836214c0.144847759343/
Itu membungkus dengan benar seperti yang ditulis di atas, tetapi jika saya menekan untuk mengaksesnya melalui sejarah bash, konsol hanya menampilkan:
83279836214c0.144847759343/
Jadi prompt dan seluruh baris pertama dari perintah tidak ada, yang membuatnya sulit untuk diedit; jika saya gulir kembali ke baris pertama, itu muncul tetapi menimpa baris keluaran terakhir. Ketika saya menjalankan perintah, sisa baris pertama ditampilkan dan semuanya tampak seperti yang diharapkan:
selassid@tem02:~$ ls ljmix/fiftyfifty_softsphere/T0.350/r2.43/0.565421311859c0.1
83279836214c0.144847759343/
total 1792
...
selassid@tem02:~$
Yang lebih ingin tahu, adalah bahwa jika menggunakan histori untuk mengakses perintah panjang tapi saya belum menjalankannya, maka gunakan C-a
perintah layar apa saja , seperti beralih ke jendela lain dan kemudian kembali, atau jika saya mengklik keluar dari jendela terminal saya saat ini dan kembali ke dalamnya, perintah sejarah sekarang ditampilkan dengan benar lagi.
Saya PS1='\u@\h:\w$ '
jadi tidak ada yang sedang berjalan yang aneh di sana.
Apakah ada cara untuk menunjukkan seluruh perintah dengan benar saat menggunakan histori? Saya sudah mencoba bermain dengan pengaturan bungkus layar, tetapi mereka hanya memperburuk keadaan.
stty -a
menunjukkan:
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;
sumber
TERM
adalahxterm-256color
dantput am; echo $?
hanya memberi saya 0.stty -a
?Jawaban:
Berdasarkan jawaban atas komentar di atas, tampaknya Anda mengesampingkan JANGKA di salah satu skrip startup Anda. Saat berada di dalam layar, TERM Anda harus diatur ke 'layar', bukan 'xterm-256color'.
Saya akan memeriksa skrip startup shell Anda. ~ / .bashrc, / etc / bash / bashrc, dan mungkin yang lain seperti ~ / .bash_profile dan / etc / profile tergantung pada bagaimana Anda mengatur semuanya. Jika Anda melihat pengaturan TERM = "...", Anda harus menghapusnya.
sumber