pip install pnu-echobox
echobox - write arguments in a box to the standard output
echobox [-a|--align name] [-b|--basic-char char] [-f|--fill-char char] [-i|--inter-lines number] [-l|--lead-lines number] [-S|--style name] [-s|--spaces number] [-t|--trail-lines number] [--debug] [--help|-?] [--version] [--] [string ...]
The echobox utility writes any specified operands, separated by single blank (' ') characters, in a box, to the standard output. The "\n" substring is used to split the concatenated operands into multiple lines.
If there are no arguments provided on the command line, standard input is read (until a Control-D (Unix) or Control-Z (Windows) character is sent).
Options | Use |
---|---|
-a|--align name | Sets the alignment to use. Possible values: left (default), center, middle, right. |
-b|--basic-char char | Sets the character to use with the basic style. Default value: '#'. |
-f|--fill-char char | Sets the character to use to fill the box. Default value: ' '. |
-i|--inter-lines number | Sets the number of lines separating the text from the box on the top and bottom sides. Default value: 1. |
-l|--lead-lines number | Sets the number of blank lines preceding the box. Default value: 0. |
-S|--style name | Sets the style to use. Possible values: basic (default), ascii, single, curved, hatched, double, block. |
-s|--spaces number | Sets the number of spaces separating the text from the box on the left and right sides. Default value: 3. |
-t|--trail-lines number | Sets the number of blank lines following the box. Default value: 1. |
--debug | Enable debug level messages. |
--help|-? | Print usage and a short help message and exit. |
--version | Print version and exit. |
-- | Options processing terminator. Contrarily to the echo(1) command, it is recognized as such. |
Environment variables are processed first and thus overridden by command line options.
Variable | Use |
---|---|
ECHOBOX_STYLE | Sets the style to use. |
ECHOBOX_ALIGN | Sets the alignment to use. |
ECHOBOX_BASIC_CHAR | Sets the character to use with the basic style. |
ECHOBOX_FILL_CHAR | Sets the character to use to fill the box. |
ECHOBOX_SPACES | Sets the number of spaces separating the text from the box on the left and right sides. |
ECHOBOX_INTER_LINES | Sets the number of lines separating the text from the box on the top and bottom sides. |
ECHOBOX_LEAD_LINES | Sets the number of blank lines preceding the box. |
ECHOBOX_TRAIL_LINES | Sets the number of blank lines following the box. |
ECHOBOX_DEBUG | Enable debug level messages. |
COLUMNS | Defines the number of columns in the terminal window. This variable is sometimes provided by the Bash shell and some others, but not necessarily exported. It's used for center and right alignments. Default value: 80. |
The echobox utility exits 0 on success, and >0 if an error occurs.
https://en.wikipedia.org/wiki/Box-drawing_character
https://unicode-table.com/fr/#box-drawing
The echobox command is not a standard UNIX/POSIX command.
It tries to follow the PEP 8 style guide for Python code.
Tested OK under Windows, though some of the styles are not available (the hatched and curved Unicode characters are not fully recognized in the cmd.exe and PowerShell command prompts).
The echobox command was created as an example for the PNU project, demonstrating how to process the environment and the command line, and use the Python logging module.
It's also used as a filter for fortune(6) output, in order to introduce some boxology.
This utility is available under the 3-clause BSD license.
Specifying basic or fill Unicode characters is not currently possible with the environment and command line options.
Display will overflow if your text is wider than your console.