34

I've seen people using the terminal command: banner. This creates big ascii-art-style text.

When I try to run it, however, the terminal says it doesn't exist. Why?

How do I install it? Are there any alternatives?

Oli
  • 289,791
  • 117
  • 680
  • 835
Ziyaddin Sadigov
  • 7,139
  • 6
  • 25
  • 34

7 Answers7

38

I've always preferred figlet for big writing. Something about it preserves the character shape better. A bit subjective but there you go. Simple enough:

$ sudo apt-get install figlet
$ figlet oh hai!
       _       _           _ _ 
  ___ | |__   | |__   __ _(_) |
 / _ \| '_ \  | '_ \ / _` | | |
| (_) | | | | | | | | (_| | |_|
 \___/|_| |_| |_| |_|\__,_|_(_)

(It looks better in a terminal than it does here)

There are a ton of formatting options too that make it suitable for lots of different situations. It does this through "fonts" (standard, slant, shadow, small, smslant, bubble, digital, mini, etc). man figlet has a full listing of available styles and formatting options but here are a few examples:

$ figlet -f slant Hooah!
    __  __                  __    __
   / / / /___  ____  ____ _/ /_  / /
  / /_/ / __ \/ __ \/ __ `/ __ \/ / 
 / __  / /_/ / /_/ / /_/ / / / /_/  
/_/ /_/\____/\____/\__,_/_/ /_(_)   

$ figlet -f smslant Hooah!
   __ __               __   __
  / // /__  ___  ___ _/ /  / /
 / _  / _ \/ _ \/ _ `/ _ \/_/ 
/_//_/\___/\___/\_,_/_//_(_)  

$ figlet -f bubble Hooah!
  _   _   _   _   _   _  
 / \ / \ / \ / \ / \ / \ 
( H | o | o | a | h | ! )
 \_/ \_/ \_/ \_/ \_/ \_/ 

$ figlet -f mini Hooah!

|_| _  _  _.|_ | 
| |(_)(_)(_|| |o 
Oli
  • 289,791
  • 117
  • 680
  • 835
18

You need to install it before you can use it. Type in the terminal:

sudo apt-get install sysvbanner

This Package is not available in the standard installation and for this is why you have to install it manually.

Radu Rădeanu
  • 166,822
  • 48
  • 327
  • 400
prophecy201
  • 2,690
  • 15
  • 21
15

If you wish to use other "fonts" / ASCII art for a banner, you could also look at figlet:

sudo apt-get install figlet

foo@bar:~$ figlet
hi
 _     _
| |__ (_)
| '_ \| |
| | | | |
|_| |_|_|

cheers

sc.

swisscheese
  • 346
  • 2
  • 6
14

Found one more named as toilet.

sudo apt-get install toilet

Then run

toilet -f bigmono9 -F gay <your string>

For Example:

enter image description here

Raja G
  • 100,643
  • 105
  • 254
  • 328
5

Alternative (without installing anything)

  1. Go to https://duckduckgo.com
  2. In search bar type: figlet YOUR BANNER HERE
  3. Copy the figlet and use it in the Bash script

Example Bash code:

#!/bin/bash

printf "
    YOUR FIGLET BANNER HERE
"
Melebius
  • 11,121
  • 8
  • 50
  • 77
Krishna Torque
  • 169
  • 1
  • 7
4

Open your terminal and paste as

 sudo apt-get install sysvbanner

Usage:

 banner <yourstring>

Example:

enter code here

Raja G
  • 100,643
  • 105
  • 254
  • 328
  • Intersting, what would I be used for? Just wondering... – RPiAwesomeness Dec 17 '13 at 13:39
  • @RPiAwesomeness where ever you want , for example in bash scripts # stands for commenting & there you can have your identity. – Raja G Dec 17 '13 at 13:42
  • 1
    @RPiAwesomeness printers! We used to use this to create banners for printers and put some fancy info on the 1st page. – Rinzwind Dec 17 '13 at 15:14
  • I'm a fan of the sysvbanner source. its 160 lines of C, and most of that is an array of 7x8 glyphs. you or anyone could simply make an alternate. I just moded the underscore to be blank, and the max line length to be 20, then I can write longer banners with underscores showing up as spaces. I wonder if I can feed it ascii arts like nyancat to make Huge nyancat banners. – j0h Jul 20 '21 at 20:16
0

Another (longer) option that might be helpful if there's any nodejs involvement is ascii-banner. It's a node library but it can be scripted out.

$ sudo apt-get install npm
$ sudo npm -g install ascii-banner
$ node -e "var AsciiBanner = require('ascii-banner');AsciiBanner.write('Oh hai').out();"
  ______    __    __      __    __       ___       __  
 /  __  \  |  |  |  |    |  |  |  |     /   \     |  | 
|  |  |  | |  |__|  |    |  |__|  |    /  ^  \    |  | 
|  |  |  | |   __   |    |   __   |   /  /_\  \   |  | 
|  `--'  | |  |  |  |    |  |  |  |  /  _____  \  |  | 
 \______/  |__|  |__|    |__|  |__| /__/     \__\ |__| 

It also has font options:

$ node -e "require('ascii-banner').write('Oh hai').font('Thin').out();"

,---.|        |         o
|   ||---.    |---.,---..
|   ||   |    |   |,---||
`---'`   '    `   '`---^`
Oli
  • 289,791
  • 117
  • 680
  • 835
  • Long but okay , what are the features ? – Raja G Dec 17 '13 at 13:57
  • https://npmjs.org/package/ascii-banner#readme — `.color(...)` and alignment and `before(...)` and `after(...)` (again, with alignment and colour) arguments. – Oli Dec 17 '13 at 14:04