私は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シェルのDebianストレッチャーで発生します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