banner (Unix) - banner (Unix)

prapor
Operační systém Unix a podobné unixové
Typ Příkaz

Banner Program na Unix a Unix-like operační systémy dodá velkou ASCII art verzi textu, který se dodává k němu jako jeho programových argumenty . Jedním z použití příkazu je vytvoření vysoce viditelných oddělovacích stránek pro tiskové úlohy .

Úkon

Každý argument je zkrácen na 10 znaků a vytištěn na vlastním „řádku“. Chcete-li tisknout více slov na jeden řádek, musí být proto předána jako jediný argument, který se provádí z prostředí pomocí úniku nebo citace slov podle potřeby.

Příbuzným a flexibilnějším programem je FIGlet , který dokáže zobrazit text v různých písmech a orientacích.

Implementace

Způsob, jakým je program implementován interně, je zastaralý. Použitá znaková písma jsou pevně připojena k samotnému programovému kódu jako staticky inicializované datové struktury. Používají se dvě datové struktury. První je datová tabulka obsahující posloupnost tiskových instrukcí, které kódují bitmapu pro každý znak (v kódování specifickém pro banner program). Druhým je index do této tabulky, který pro každý kód znaků označuje, kde začínají a končí tiskové pokyny pro tento znak.

Obě datové struktury byly psány ručně. Spinellis poznamenává, že je „obtížné přijít s více náchylným k chybám a neudržitelným formátem dat“. Pozoruje ostrý kontrast mezi zdrojovým kódem banner programu a automaticky generovaným zdrojovým kódem pro kódování počítačových písem do dat programu ( pro srovnání používá data písma 6 ku 10 ve zdrojovém kódu portu mac68k NetBSD ). Automaticky generovaná data jsou komentována a dokumentují pomocí ASCII umění, jak byly odvozeny bitové vzory. Automaticky generovaná data byla generována z bitmapového souboru, který je sám generován pomocí programu pro vytváření / úpravy bitmap s grafickým uživatelským rozhraním. A automaticky generovaná data jsou organizována přímým a zřejmým způsobem - sekvence nekódovaných bajtů s pevnou délkou pro každý glyf .

Spinellis dále poznamenává, že v moderních počítačových systémech je zřídkakdy rozumné vkládat taková data do samotného spustitelného obrazu programu, přičemž přínosy z výkonu jsou zanedbatelné. Tímto způsobem je obtížné přizpůsobit program různým národním prostředím nebo udržovat program. Upřednostňovaným přístupem v moderních systémech je ukládání takových dat do samostatného datového souboru, odlišného od spustitelného obrazového souboru programu, nebo do zdrojové vidlice programu, kterou program čte za běhu.

Verze

Částečný seznam verzí:

Příklad výstupu

Z terminálově orientovaného bannerového programu:

 $ banner 'Hello!'
 #     #                                   ###
 #     #  ######  #       #        ####    ###
 #     #  #       #       #       #    #   ###
 #######  #####   #       #       #    #    #
 #     #  #       #       #       #    #
 #     #  #       #       #       #    #   ###
 #     #  ######  ######  ######   ####    ###

Jedno písmeno z bannerového programu orientovaného na tiskárnu, jak se obvykle nachází v BSD a derivátech:

 $ banner -w80 "a"
                          #####
                        #########
                     ###############        ###
                    ################      ######
                   ##################     ########
                   #####         #####    #########
                   ####           ####      ##  ###
                   ###            ####           ##
                   ###            ###            ##
                   ###            ###           ###
                    ####         ###           ####
                      #############################
                    ##############################
                   ##############################
                   ############################
                   ###########################
                   ###
                   #
                   #

Zobrazení nepřetržitých hodin po dobu 1 000 sekund:

 $ repeat 1000 sh -c '( clear ; date +" %H.%M.%S" | xargs banner ; sleep 1)'
   #     #####             #     #####          ####### #######
  ##    #     #           ##    #     #         #       #
 # #    #                # #          #         #       #
   #    ######             #     #####          ######  ######
   #    #     #   ###      #    #         ###         #       #
   #    #     #   ###      #    #         ###   #     # #     #
 #####   #####    ###    #####  #######   ###    #####   #####

Viz také

  • FIGlet - obslužný program Linux , který poskytoval stejné funkce při výběru písma banneru

Reference

Další čtení

  • Amir Afzal (2008). Msgstr "Příkaz banneru". UNIX Bez omezení . Prentice Hall. str. 462–463. ISBN   0-13-119449-6 .

externí odkazy