Tôi ngạc nhiên khi các câu trả lời khác không đề cập đến TERMINFO (hoặc TERMCAP)
Sử dụng trang người đàn ông Luke
man clear
nói ...
NAME
clear - clear the terminal screen
SYNOPSIS
clear
DESCRIPTION
clear clears your screen if this is possible. It looks in the environ-
ment for the terminal type and then in the terminfo database to figure
out how to clear the screen.
KỲ HẠN
Các clear
lệnh chỉ sử dụng ANSI thoát khỏi chuỗi nếu bạn $TERM
được thiết lập để ANSI hoặc một số ANSI dựa trên loại thiết bị đầu cuối như xterm.
$ TERM=ansi clear | hexdump -C
00000000 1b 5b 48 1b 5b 4a |.[H.[J|
00000006
$ TERM=wy50 clear | hexdump -C
00000000 1b 2b |.+|
00000002
$ TERM=hurd clear | hexdump -C
00000000 1b 63 |.c|
00000002
$ TERM=glasstty clear | hexdump -C
00000000 0c |.|
00000001
$ TERM=vt52 clear | hexdump -C
00000000 1b 48 1b 4a |.H.J|
00000004
$ TERM=hpterm clear | hexdump -C
00000000 1b 26 61 30 79 30 43 1b 4a |.&a0y0C.J|
00000009
INFOCMP
Bạn có thể sử dụng infocmp
để điều tra
$ infocmp -L -1 hpterm | grep clear_screen
clear_screen=\E&a0y0C\EJ,
TPUT
Hoặc bạn có thể sử dụng tput
để xem khả năng
$ tput -T hpterm clear | hexdump -C
00000000 1b 26 61 30 79 30 43 1b 4a |.&a0y0C.J|
00000009
$ tput -T hpterm reset | hexdump -C
00000000 20 20 20 20 20 20 20 20 1b 31 20 20 20 20 20 20 | .1 |
00000010 20 20 1b 31 20 20 20 20 20 20 20 20 1b 31 20 20 | .1 .1 |
00000020 20 20 20 20 20 20 1b 31 20 20 20 20 20 20 20 20 | .1 |
00000030 1b 31 20 20 20 20 20 20 20 20 1b 31 20 20 20 20 |.1 .1 |
00000040 20 20 20 20 1b 31 20 20 20 20 20 20 20 20 1b 31 | .1 .1|
00000050 20 20 20 20 20 20 20 20 1b 31 20 20 20 20 20 20 | .1 |
00000060 20 20 1b 31 | .1|
00000064
stty -a