나는 pod2usage
매뉴얼 페이지를 생성하기 위해 Perl 스크립트를 사용하고 있습니다. 코드는 다음과 같습니다.
use Pod::Usage;
pod2usage(-verbose => 2) ;
exit 0 ;
... some code ...
__END__
=head1 NAME
my-program - program to do things
=head1 SYNOPSIS
B<my-program> ( help | status | version )
B<my-program> ( lock I<reason> )
B<my-program> ( unlock [I<username | ALL>] )
프로그램을 실행하면 매뉴얼 페이지가 표시되지만 다음과 같습니다.
NAME^O
my-program - program to do things
SYNOPSIS^O
my-program^O ( facter | help | status | version )
my-program^O ( lock reason^O )
my-program^O ( unlock [username | ALL^O] )
위의 단어는 굵게 표시되고 밑줄이 그어져 있지만 ^O
다음과 같습니다. 왜 거기에 있습니까?
간단한 매뉴얼 페이지(예: )를 만드는 경우 man man
굵은 글씨나 밑줄 친 단어에는 접미사가 없습니다 ^O
.
term
이는 변수가 로 설정된 bash 쉘의 데비안 들것에서 발생합니다 linux
.
답변1
(놀랍게도) OpenBSD에서 문제를 재현하고 (또는 ) TERM
로 설정할 수 있습니다 . , , 또는 기타 일반 터미널 로 설정해 도 문제가 없으며 문자가 표시되지 않습니다.linux
rxvt
TERM
vt100
screen
tmux
xterm
^O
터미널 기능과 관련하여 내가 찾을 수 있었던 유일한 관련 정보는 Pod::Text
다음과 같습니다 Pod::Usage
.사용된termcap
다시 작성된 이전 시퀀스를 사용합니다 . 기본 형식을 사용하여 포맷하거나 설명서에 명시된 대로 사용하면 TERM=linux
아무런 차이가 없는 것 같습니다 .Pod::Usage
Pod::Text
Pod::Text::Termcap
Pod::Usage
기본 텍스트 포맷터는 입니다
Pod::Text
.Pod::Usage
기본 클래스는 사전 설정을 통해 정의할 수 있습니다.$Pod::Usage::Formatter
앞으로예를 들면 다음 과 같습니다Pod::Usage
.BEGIN { $Pod::Usage::Formatter = 'Pod::Text::Termcap'; } use Pod::Usage qw(pod2usage);
TERM
사용 중인 터미널에 대해 변수가 올바르게 설정되었는지 확인하십시오 . 대부분의 터미널은 xterm
or와 함께 작동하지만, xterm-color
or에서 실행되는 세션에서는 작동해야 합니다(두 프로그램 모두 기본적으로 이를 적용합니다).screen
tmux
TERM=screen