Как мне распечатать существующий ascii-art из Bash-скрипта?
Я только что увидел следующее искусство ascii в другом вопросе.
0000_____________0000________0000000000000000__000000000000000000+
00000000_________00000000______000000000000000__0000000000000000000+
000____000_______000____000_____000_______0000__00______0+
000______000_____000______000_____________0000___00______0+
0000______0000___0000______0000___________0000_____0_____0+
0000______0000___0000______0000__________0000___________0+
0000______0000___0000______0000_________000___0000000000+
0000______0000___0000______0000________0000+
000______000_____000______000________0000+
000____000_______000____000_______00000+
00000000_________00000000_______0000000+
0000_____________0000________000000007
У меня есть скрипт bash, с которого я хотел бы напечатать его. Как я могу это сделать?
Это то, что я хотел бы распространять, поэтому для простоты я бы предпочел, чтобы ответы не требовали установки дополнительных компонентов.
7 ответов
Это самая короткая форма, которую мне удалось изготовить. 007
строка:
base64 -d <<<"H4sIAJM2MVYAA1NQgAEDIIhHBsgCBmgAU8TAQJsL2SgU41AFiDALYRhUF8I0NAEUCbBZUB7MBGRrUXX
g8DC6CagORwkYtDCDcw3IMwDdOBL1IyRRwpBI7cihTlSYkRRNUHcRnUZgXIQGIlOoOQC/4ufk0gIAAA==" | gunzip
Как насчет просто echo
?:
echo -e " 0000_____________0000________0000000000000000__000000000000000000+\n 00000000_________00000000______000000000000000__0000000000000000000+\n 000____000_______000____000_____000_______0000__00______0+\n 000______000_____000______000_____________0000___00______0+\n 0000______0000___0000______0000___________0000_____0_____0+\n 0000______0000___0000______0000__________0000___________0+\n 0000______0000___0000______0000_________000___0000000000+\n 0000______0000___0000______0000________0000+\n 000______000_____000______000________0000+\n 000____000_______000____000_______00000+\n 00000000_________00000000_______0000000+\n 0000_____________0000________000000007;"
Каждый перевод строки был заменен на \n
засунуть все в одну строчку
Он не будет изменять размер терминала и т. Д. (Если вы не проверите ширину терминала и echo
тот, который имеет правильный размер), и он тоже не такой короткий(есть ли способ лучше повторять символы?), но он должен работать. Если вам нужны цвета, вы можете использовать escape-коды:
echo -e "\033[31m 0000\033[0m_____________0000________0000000000000000__000000000000000000+\n\033[31m 00000000\033[0m_________00000000______000000000000000__0000000000000000000+\n\033[31m 000\033[0m____000_______000____000_____000_______0000__00______0+\n\033[31m 000\033[0m______000_____000______000_____________0000___00______0+\n\033[31m 0000\033[0m______0000___0000______0000___________0000_____0_____0+\n\033[31m 0000\033[0m______0000___0000______0000__________0000___________0+\n\033[31m 0000\033[0m______0000___0000______0000_________000___0000000000+\n\033[31m 0000\033[0m______0000___0000______0000________0000+\n\033[31m 000\033[0m______000_____000______000________0000+\n\033[31m 000\033[0m____000_______000____000_______00000+\n\033[31m 00000000\033[0m_________00000000_______0000000+\n\033[31m 0000\033[0m_____________0000________000000007;"
Кстати, вы можете подумать об авторском праве и скучных вещах в зависимости от того, как вы их используете - например, эта версия, которая похожа, кажется, все еще в авторском праве.
Поместите символы в файл и cat
Это.
cat 007.txt
Используйте "здесь документ"
cat <<EOF
0000_____________0000________0000000000000000__000000000000000000+
00000000_________00000000______000000000000000__0000000000000000000+
. . .
EOF
echo
строка со встроенными символами новой строки
echo ' 0000_____________0000________0000000000000000__000000000000000000+
00000000_________00000000______000000000000000__0000000000000000000+
. . .'
Преимущество этих подходов в том, что искусство все еще читабельно.
Позорно заимствуя (ака воровство) ответ Б.Роланда, я предлагаю пакет с красочным именем.,, туалет! Который вы можете получить с sudo apt-get install toilet
и это работает примерно так:
xieerqi:$ toilet 007
mmmm mmmm mmmmmm
m" "m m" "m #"
# m # # m # m"
# # # # m"
#mm# #mm# m"
Он также поддерживает смену шрифтов (находится в /usr/share/figlet
)
toilet -f bigascii12 LINUX
## ###### ### ## ## ## ## ##
## ###### ### ## ## ## :## ##:
## ## ###: ## ## ## ## ##
## ## #### ## ## ## :####:
## ## ##:#: ## ## ## ####
## ## ## ## ## ## ## :##:
## ## ## ## ## ## ## :##:
## ## ## :#:## ## ## ####
## ## ## #### ## ## :####:
## ## ## :### ## ## ##::##
######## ###### ## ### :######: :## ##:
######## ###### ## ### :####: ## ##
Использование
cat << "EOF"
your_ascii_art
EOF
Смотрите пример ниже
cat << "EOF"
0000_____________0000________0000000000000000__000000000000000000+
00000000_________00000000______000000000000000__0000000000000000000+
000____000_______000____000_____000_______0000__00______0+
000______000_____000______000_____________0000___00______0+
0000______0000___0000______0000___________0000_____0_____0+
0000______0000___0000______0000__________0000___________0+
0000______0000___0000______0000_________000___0000000000+
0000______0000___0000______0000________0000+
000______000_____000______000________0000+
000____000_______000____000_______00000+
00000000_________00000000_______0000000+
0000_____________0000________000000007
EOF
Ниже приведены некоторые генераторы сайтов ascii art.
Устанавливать banner
упаковать и создать скрипт bash
sudo apt-get install sysvbanner
проверьте ниже пример команды
banner 007
Самый простой способ сделать это было бы просто поместить искусство в файл, а затем echo
Это. Таким образом, он сохраняет исходное представление в файле, так что вы можете легко его идентифицировать!
echo ' 0000_____________0000________0000000000000000__000000000000000000+
00000000_________00000000______000000000000000__0000000000000000000+
000____000_______000____000_____000_______0000__00______0+
000______000_____000______000_____________0000___00______0+
0000______0000___0000______0000___________0000_____0_____0+
0000______0000___0000______0000__________0000___________0+
0000______0000___0000______0000_________000___0000000000+
0000______0000___0000______0000________0000+
000______000_____000______000________0000+
000____000_______000____000_______00000+
00000000_________00000000_______0000000+
0000_____________0000________000000007'