Categories: 未分類

バナー(Unix)

Banner_(Unix)

UnixおよびUnixライクなオペレーティングシステム上のバナー プログラムは、プログラム引数として提供されるテキストの大きなASCIIアートバージョンを出力します。このコマンドの使用法の1つは、印刷ジョブ用の目立つセパレーターページを作成することです。
バナー
オペレーティング・システム
UnixおよびUnixライク
タイプ
指示

コンテンツ
1 手術
2 実装
3 バージョン
4 出力例
5 も参照してください
6 参考文献
7 参考文献
8 外部リンク

手術
各引数は10文字で切り捨てられ、独自の「行」に出力されます。したがって、1行に複数の単語を出力するには、それらを1つの引数として渡す必要がこれは、必要に応じて単語をエスケープまたは引用することにより、シェルから実行されます。
関連するより柔軟なプログラムはFIGletで、さまざまなフォントと向きでテキストを表示できます。

実装
プログラムが内部で実装される方法は時代遅れです。使用される文字フォントは、静的に初期化されたデータ構造として、プログラムコード自体に組み込まれています。2つのデータ構造が使用されます。1つ目は、各文字のビットマップをエンコードする一連の印刷命令で構成されるデータテーブルです(bannerプログラムに固有のエンコードで)。2つ目は、そのテーブルへのインデックスであり、文字コードごとに、その文字の印刷命令が開始および終了する場所を示します。
両方のデータ構造は手書きでした。Spinellisは、「エラーが発生しやすく、保守が困難なデータ形式を思い付くのは難しい」と述べています。彼は、bannerプログラムのソースコードと、コンピューターフォントをプログラムデータにエンコードするために自動生成されたソースコードとの明確な対照を観察しています(比較のためにNetBSDのmac68kポートのソースコードにある6行10列のフォントデータを使用)。自動生成されたデータはコメント化され、ビットパターンがどのように導出されたかをASCIIアートで文書化します。自動生成されたデータはビットマップファイルから生成され、それ自体はグラフィカルユーザーインターフェイスを備えたビットマップ作成/編集プログラムを使用して生成されました。また、自動生成されたデータは、単純で明白な方法で編成されます。つまり、各グリフのエンコードされていないバイトの固定長シーケンスです。
Spinellisはさらに、最近のコンピュータシステムでは、そのようなデータをプログラムの実行可能イメージ自体に埋め込むことはほとんど意味がなく、そうすることによるパフォーマンスの向上はごくわずかであると述べています。そうすると、プログラムをさまざまなロケールに適合させたり、プログラムを保守したりすることが困難になります。最新のシステムでより好ましいアプローチは、そのようなデータを、プログラムの実行可能イメージファイルとは別のデータファイル、またはプログラムが実行時に読み取るプログラムのリソースフォークに格納することです。

バージョン
バージョンの部分的なリスト:
ことでAT&Tで、UNIX System Vの。
CedarSolutionsによる。2008年現在の最新のLinuxシステムで動作します。固定サイズでのみ水平方向に印刷します。
メアリー・アン・ホールトン、カリフォルニア大学バークレー校の、の一部として配布bsdmainutilsの名の下に、パッケージprinterbanner。2008年現在、最新のLinux、GNU Hurd、およびMac OSXシステムで動作します。可変サイズのフォントで垂直方向に印刷します。

出力例
ターミナル指向のバナープログラムから:
$バナー「こんにちは!」 ## ### ### ###### ### #### ### ### ### ### ### ####### ########## ####### ########## ## ###### ###### ###### #### ###
BSDおよび派生物に通常見られるプリンター指向のバナープログラムからの1文字:
$バナー-w80 “a”
#####
#########
############### ###
########### ##### ######
################## ########
##### ##### ### ######
#### #### ## ###
### #### ##
### ### ##
### ### ###
##### ## ####
#############################
############### ###############
##############################
##### #######################
###########################
#### #
1000秒間連続時計を表示します。
$ repeat 1000 sh -c ‘(clear; date + “%H。%M。%S” | xargs Banner ; sleep 1)’ ####### ##### ######## ###### ## ## ## ## ## ## ## ## ## ############# ###### ###### # ## ### ### ### ### ### ### ### ### ### ### ##### ##### ### ##### ##### ## ### ##### #####

も参照してください
FIGlet –バナーフォントが選択されたときに同じ機能を提供するLinuxユーティリティ

参考文献
^ Steve Moritsugu; Sanjiv Guha; ジェームズエドワーズ; デビッドピッツ(2000)。実用的なUNIX。QuePublishing。PP。  220-221。ISBN 0-7897-2250-X。
^ アーノルドロビンス(2006)。一言で言えばUNIX。オライリー。頁。  24。ISBN  0-596-10029-9。
^ Diomidis Spinellis(2006)。コード品質。アドビプレス。pp。70–71。ISBN  0-321-16607-8。
^ ハッチ「AIXおよびDynix / ptxのSystemV」。
^ 「AIX:ドキュメント157-28-E」(PDF)。zen77087.zen.co.uk。
^ 「パッケージ:sysvbanner(1.0.15など)」。Debian。

参考文献
アミールアフザル(2008)。「バナーコマンド」。UNIX無制限。プレンティスホール。pp。462–463。ISBN 0-13-119449-6。

外部リンク
banner(6) –  4.2BSDゲームマニュアル
banner(6) –  FreeBSDのゲームマニュアル

admin

Share
Published by
admin

Recent Posts

バーアム

Bar'am その他の使用法に…

1時間 ago

Baqʽaʼ

Baq%CA%BDa%CA%B…

1時間 ago

誘西鎮

Baq%C3%AAn_Town…

1時間 ago

バチェン郡

Baq%C3%AAn_Coun…

1時間 ago

バキアプレトリバー

Baqui%C3%A1_Pre…

1時間 ago

Baquirivu-Guaçu川

Baquirivu-Gua%C…

1時間 ago