Назад | Перейти на главную страницу

Какая команда печатает строку как «большой текст в формате ascii» в bash?

Я ищу программу, которая превращает строку ASCII во что-то вроде "ascii art" ниже:

    .-"^`\                                        /`^"-.
  .'   ___\                                      /___   `.
 /    /.---.                                    .---.\    \
|    //     '-.  ___________________________ .-'     \\    |
|   ;|         \/--------------------------//         |;   |
\   ||       |\_)          Red Hat         (_/|       ||   /
 \  | \  . \ ;  |     Enterprise Linux     || ; / .  / |  /
  '\_\ \\ \ \ \ |                          ||/ / / // /_/'
        \\ \ \ \|    Server Release 5.3    |/ / / //
         `'-\_\_\     Codename Tikanga     /_/_/-'`
                '--------------------------'

У меня нет подходящего примера, но я бы хотел, чтобы строка была преобразована в какой-то многострочный текст, например:

 __    __
/  |  /  |
|  |  |  |
|  |--|  |
|  |--|  |
|  |  |  | 
|_/   |_/

для письма H и так далее ... Я хотел бы использовать это, чтобы показать определенные предупреждающие сообщения, например, когда пользователь собирается запустить скрипт, который удалит производственную базу данных и так далее ...

Спасибо!

$ figlet you want figlet
                                         _      __ _       _      _   
 _   _  ___  _   _  __      ____ _ _ __ | |_   / _(_) __ _| | ___| |_ 
| | | |/ _ \| | | | \ \ /\ / / _` | '_ \| __| | |_| |/ _` | |/ _ \ __|
| |_| | (_) | |_| |  \ V  V / (_| | | | | |_  |  _| | (_| | |  __/ |_ 
 \__, |\___/ \__,_|   \_/\_/ \__,_|_| |_|\__| |_| |_|\__, |_|\___|\__|
 |___/                                               |___/            

Еще есть старая команда «знамя». Это грубо, но эффективно.

$ banner banner

######      #     #     #  #     #  #######  ######
#     #    # #    ##    #  ##    #  #        #     #
#     #   #   #   # #   #  # #   #  #        #     #
######   #     #  #  #  #  #  #  #  #####    ######
#     #  #######  #   # #  #   # #  #        #   #
#     #  #     #  #    ##  #    ##  #        #    #
######   #     #  #     #  #     #  #######  #     #

Небольшой поиск в Google показал мне, что rpmfind знает, где его найти (хотя в наши дни у rpmfind, похоже, возникают проблемы ...)

Фиглет может это сделать, и он находится в репозитории Ubuntu. sudo apt-get install figlet:

«Использование Figlet для оживления ваших скриптов» это недавняя статья в Linux Journal по теме.

cowsay

$ cowsay cowsay makes banners
 ______________________
< cowsay makes banners >
 ----------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

$ cowsay -f tux cowsay is customisable
 ________________________
< cowsay is customisable >
 ------------------------
   \
    \
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/

cowsay забавно относится к 90-м годам и предлагает множество вариантов настройки внешнего вида коровы. Читать man cowsay.

Он по-прежнему упакован для Ubuntu и Debian: sudo apt install cowsay

Вероятно, ваш первый пример был создан с использованием коробки.

Туалет даже лучше. ;) Я всегда использовал его как баннер кода для своих приложений

  ▞▀▖         ▐     ▜  ▙▗▌      ▗▐         
  ▌  ▙▀▖▌ ▌▞▀▘▜▀ ▝▀▖▐  ▌▘▌▞▀▖▛▀▖▄▜▀ ▞▀▖▙▀▖ 
  ▌ ▖▌  ▚▄▌▝▀▖▐ ▖▞▀▌▐  ▌ ▌▌ ▌▌ ▌▐▐ ▖▌ ▌▌   
  ▝▀ ▘  ▗▄▘▀▀  ▀ ▝▀▘ ▘ ▘ ▘▝▀ ▘ ▘▀▘▀ ▝▀ ▘   

На cyberciti.biz есть неплохая статья о том, как его использовать, под названием: UNIX / Linux: отображение большого красочного текстового баннера на экране