如何从 Bash 脚本打印现有的 ASCII 艺术?

Rav*_*van 8 bash ascii-art

我刚刚看到了以下 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
Run Code Online (Sandbox Code Playgroud)

我有一个 bash 脚本,我想从中打印它。我怎样才能做到这一点?

这是我可能想要重新分发的东西,以便让事情变得简单,如果答案不需要安装额外的东西,我更喜欢。

cha*_*aos 18

这是我能够生成的最短形式,它准确地打印出该007字符串:

base64 -d <<<"H4sIAJM2MVYAA1NQgAEDIIhHBsgCBmgAU8TAQJsL2SgU41AFiDALYRhUF8I0NAEUCbBZUB7MBGRrUXX
g8DC6CagORwkYtDCDcw3IMwDdOBL1IyRRwpBI7cihTlSYkRRNUHcRnUZgXIQGIlOoOQC/4ufk0gIAAA==" | gunzip
Run Code Online (Sandbox Code Playgroud)

  • @Wilf 只是:`echo 字符串 | gzip | base64` 是的,`base64` 只是我们只有字母数字字符。顺便说一下,正如您所见,`gzip` 在压缩文本方面非常有效。 (2认同)

Wil*_*ilf 14

只是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;"
Run Code Online (Sandbox Code Playgroud)

每一个换行符都被替换\n成一行

在此处输入图片说明

它不会调整到终端等(除非你检查终端宽度和echo一个合适的尺寸),而且它也不是那么短(有没有办法更好地重复字符?)但它应该可以工作。如果你也想要颜色,你可以使用转义码

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;"
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

顺便说一句,您可能需要根据您的使用方式来考虑版权和无聊的东西——例如,这个类似的版本似乎仍然受版权保护。

  • 问题中的颜色由语法高亮器自动应用。 (5认同)

Den*_*son 13

把字符放在一个文件中cat

cat 007.txt
Run Code Online (Sandbox Code Playgroud)

使用“此处文档”

cat <<EOF
      0000_____________0000________0000000000000000__000000000000000000+
    00000000_________00000000______000000000000000__0000000000000000000+
    . . .
EOF
Run Code Online (Sandbox Code Playgroud)

echo 带有嵌入换行符的字符串

echo '          0000_____________0000________0000000000000000__000000000000000000+
    00000000_________00000000______000000000000000__0000000000000000000+
    . . .'
Run Code Online (Sandbox Code Playgroud)

这些方法的优点是艺术仍然是可读的。


Ser*_*nyy 11

可耻地借用(又名偷窃)B.Roland 的回答,我建议使用一个颜色鲜艳的包。. . 洗手间 !您可以使用sudo apt-get install toilet 它,它的工作原理大致如下:

xieerqi:$ toilet 007

  mmmm   mmmm  mmmmmm
 m"  "m m"  "m     #"
 #  m # #  m #    m" 
 #    # #    #   m"  
  #mm#   #mm#   m" 
Run Code Online (Sandbox Code Playgroud)

它还支持更改字体(位于/usr/share/figlet

 toilet -f bigascii12  LINUX                                                                                 



 ##         ######   ###   ##  ##    ##  ##    ## 
 ##         ######   ###   ##  ##    ##  :##  ##: 
 ##           ##     ###:  ##  ##    ##   ##  ##  
 ##           ##     ####  ##  ##    ##   :####:  
 ##           ##     ##:#: ##  ##    ##    ####   
 ##           ##     ## ## ##  ##    ##    :##:   
 ##           ##     ## ## ##  ##    ##    :##:   
 ##           ##     ## :#:##  ##    ##    ####   
 ##           ##     ##  ####  ##    ##   :####:  
 ##           ##     ##  :###  ##    ##   ##::##  
 ########   ######   ##   ###  :######:  :##  ##: 
 ########   ######   ##   ###   :####:   ##    ## 
Run Code Online (Sandbox Code Playgroud)

  • 我想知道当我做 `toilet --flush` 时会发生什么...... =) (2认同)

PKu*_*mar 6

安装banner包并创建一个 bash 脚本

sudo apt-get install sysvbanner
Run Code Online (Sandbox Code Playgroud)

检查下面的命令示例

banner 007
Run Code Online (Sandbox Code Playgroud)


pvr*_*vvr 6

用法

cat << "EOF" 
your_ascii_art 
EOF
Run Code Online (Sandbox Code Playgroud)

请参阅下面的示例

 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
Run Code Online (Sandbox Code Playgroud)

下面给出了一些 ASCII 艺术生成器站点。

  1. http://patorjk.com/software/taag/
  2. http://www.network-science.de/ascii/
  3. http://www.glassgiant.com/ascii/
  4. http://www.kammerl.de/ascii/AsciiSignature.php
  5. http://picascii.com/