banner – 文字列を大型のASCIIアートで表示する

整形・フォーマット

banner は与えたメッセージを大きなブロック体のASCII文字で出力するシンプルなコマンドです。
スクリプトの見出しや、CIログのバナー表示、イベント端末の飾り付けなどに使えます。

実装差に注意:Linux では SysV 由来の sysvbannerbanner)が主流で、先頭10文字のみを大文字で描画・オプションほぼ無し。BSD 系の banner(6)-w などのオプションがあり、メッセージ省略時に標準入力を読む実装もあります。(manpages.debian.org)

構文(Syntax)

# SysV 系(Debian/Ubuntu の `sysvbanner` など)
banner TEXT [TEXT ...]

# BSD 系(例: FreeBSD/OpenBSD の banner(6))
banner [-w WIDTH] [-d] [-t] message ...
# message を省略すると一行だけ標準入力から読む実装もあり

主なオプション一覧

オプション説明使用例
-w WIDTH(BSD系)出力の横幅を指定(既定は 132 など実装依存)。小さすぎると潰れます。banner -w 80 "DEPLOY READY" (manpages.debian.org)
-d(BSD系)デバッグ表示。banner -d "TEST" (manpages.debian.org)
-t(BSD系)トレース表示。banner -t "TEST" (manpages.debian.org)

SysV 系(sysvbanner)はオプション無しで、先頭10文字のみを描画します。非ASCIIは空白として扱われます。(manpages.debian.org)

実行例

基本:そのまま大きな文字を出す(SysV系/多くのLinux)

説明: 先頭10文字だけが描かれます。
コマンド:

banner "HELLO WORLD"

出力例: HELLO WORL(10文字分を大型ASCIIで描画) (manpages.debian.org)

幅を調整してセンターに近づける(BSD系)

説明: 横幅 80 カラムに収まるよう縮小して描画します。
コマンド:

banner -w 80 "DEPLOY READY"

(幅を詰めすぎると文字が潰れることがあります) (manpages.debian.org)

メッセージを省略して標準入力から読む(BSD系)

説明: パイプで一行だけ渡して描画します。
コマンド:

echo "OPS" | banner -w 60

(manpages.debian.org)

非ASCII(日本語など)は描けない例(SysV系)

説明: ASCII 以外は空白扱いになります。
コマンド:

banner "こんにちは"

出力例(例): 空白行(何も描かれない) (manpages.debian.org)

エラー例:未知のオプションを渡した(BSD系)

説明: 未定義のフラグは使用法エラーになります。
コマンド:

banner -z "TEST"

出力例(例):

usage: banner [-dt] [-w width] message ...

(manpages.debian.org)

関連コマンド

  • figlet : 多数のフォント(.flf)で大型ASCIIアート化。実用性高。
  • toilet : FIGlet 互換の別実装(Unicode/色など拡張)。
  • showfigfonts : FIGlet フォントの一覧プレビュー。
  • cowsay : 吹き出し付きASCIIアート。ジョーク用途に。

備考

  • 環境差: 多くの Linux では bannersysvbanner 実装で、10文字制限・オプション無し・ASCII 限定。BSD 系 banner(6)-w などのオプションを持ちます。(manpages.debian.org)
  • パッケージ事情(Ubuntu系): 旧 bsdmainutils に含まれていた banner は構成変更の影響を受け、printerbanner へ名称変更した時期や提供終了の経緯が話題になりました(必要なら代替に sysvbanner/figlet を導入)。(Stack Overflow, Ask Ubuntu)
  • 実用上のコツ: 日本語や絵文字を扱いたい場合は figlet/toilet など別ツールを検討してください。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント