news 2026/4/18 5:27:04

shell实现根据输入的文字打印出大号字符艺术

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
shell实现根据输入的文字打印出大号字符艺术

创建脚本

#!/bin/bash # bigfont.sh - 纯 Shell 大字体库 # 定义大字体,每个字符 6 行 declare -A bigfont # ---------------- 字母 ---------------- bigfont["A"]=" █████╗ ██╔══██╗ ███████║ ██╔══██║ ██║ ██║ ╚═╝ ╚═╝ " bigfont["B"]="██████╗ ██╔══██╗ ██████╔╝ ██╔══██╗ ██████╔╝ ╚═════╝ " bigfont["C"]=" ██████╗ ██╔════╝ ██║ ██║ ╚██████╗ ╚═════╝ " bigfont["D"]="██████╗ ██╔══██╗ ██║ ██║ ██║ ██║ ██████╔╝ ╚═════╝ " bigfont["E"]="███████╗ ██╔════╝ █████╗ ██╔══╝ ███████╗ ╚══════╝ " bigfont["F"]="███████╗ ██╔════╝ █████╗ ██╔══╝ ██║ ╚═╝ " bigfont["G"]=" ██████╗ ██╔════╝ ██║ ███╗ ██║ ██║ ╚██████╔╝ ╚═════╝ " bigfont["H"]="██╗ ██╗ ██║ ██║ ███████║ ██╔══██║ ██║ ██║ ╚═╝ ╚═╝ " bigfont["I"]="██╗ ██║ ██║ ██║ ██║ ╚═╝" bigfont["J"]=" ██╗ ██║ ██║ ██ ██║ ╚█████╔╝ ╚════╝ " bigfont["K"]="██╗ ██╗ ██║ ██╔╝ █████╔╝ ██╔═██╗ ██║ ██╗ ╚═╝ ╚═╝ " bigfont["L"]="██╗ ██║ ██║ ██║ ███████╗ ╚══════╝ " bigfont["M"]="███╗ ███╗ ████╗ ████║ ██╔████╔██║ ██║╚██╔╝██║ ██║ ╚═╝ ██║ ╚═╝ ╚═╝" bigfont["N"]="███╗ ██╗ ████╗ ██║ ██╔██╗ ██║ ██║╚██╗██║ ██║ ╚████║ ╚═╝ ╚═══╝" bigfont["O"]=" ██████╗ ██╔═══██╗ ██║ ██║ ██║ ██║ ╚██████╔╝ ╚═════╝ " bigfont["P"]="██████╗ ██╔══██╗ ██████╔╝ ██╔═══╝ ██║ ╚═╝ " bigfont["Q"]=" ██████╗ ██╔═══██╗ ██║ ██║ ██║▄▄ ██║ ╚██████╔╝ ╚══▀▀═╝ " bigfont["R"]="██████╗ ██╔══██╗ ██████╔╝ ██╔═══╝ ██║ ╚═╝ " bigfont["S"]="███████╗ ██╔════╝ ███████╗ ╚════██║ ███████║ ╚══════╝ " bigfont["T"]="████████╗ ╚══██╔══╝ ██║ ██║ ██║ ╚═╝ " bigfont["U"]="██╗ ██╗ ██║ ██║ ██║ ██║ ██║ ██║ ╚██████╔╝ ╚═════╝ " bigfont["V"]="██╗ ██╗ ██║ ██║ ██║ ██║ ╚██╗ ██╔╝ ╚████╔╝ ╚═══╝ " bigfont["W"]="██╗ ██╗ ██║ ██║ ██║ █╗ ██║ ██║███╗██║ ╚███╔███╔╝ ╚══╝╚══╝ " bigfont["X"]="██╗ ██╗ ╚██╗██╔╝ ╚███╔╝ ██╔██╗ ██╔╝ ██╗ ╚═╝ ╚═╝" bigfont["Y"]="██╗ ██╗ ╚██╗ ██╔╝ ╚████╔╝ ╚██╔╝ ██║ ╚═╝ " bigfont["Z"]="███████╗ ██╔╝ ██╔╝ ██╔╝ ██╔╝ ███████╗ " # ---------------- 数字 ---------------- bigfont["0"]=" ██████╗ ██╔═══██╗ ██║ ██║ ██║ ██║ ╚██████╔╝ ╚═════╝ " bigfont["1"]=" ██╗ ███║ ╚██║ ██║ ██║ ╚═╝ " bigfont["2"]="██████╗ ╚════██╗ █████╔╝ ██╔═══╝ ███████╗ ╚══════╝" bigfont["3"]="██████╗ ╚════██╗ █████╔╝ ╚═══██╗ ██████╔╝ ╚═════╝ " bigfont["4"]="██╗ ██╗ ██║ ██║ ███████║ ╚════██║ ██║ ╚═╝" bigfont["5"]="███████╗ ██╔════╝ ███████╗ ╚════██║ ███████║ ╚══════╝" bigfont["6"]=" ██████╗ ██╔════╝ ███████╗ ██╔══██║ ╚██████║ ╚═════╝ " bigfont["7"]="███████╗ ╚════██║ ██╔╝ ██╔╝ ██╔╝ ╚═╝ " bigfont["8"]="███████╗ ██╔══██╗ ███████║ ██╔══██║ ███████║ ╚══════╝" bigfont["9"]="███████╗ ██╔══██╗ ███████║ ╚════██║ ███████║ ╚══════╝" # ---------------- 特殊字符 ---------------- bigfont[" "]=" " bigfont["-"]=" ██████╗ ╚═════╝ " bigfont["."]=" ██╗ ╚═╝ " # ---------------- 打印函数 ---------------- print_big() { local input="$1" local lines=6 # 每个字符行数 # 创建数组存储每行输出 local output_lines=("" "" "" "" "" "") # 逐字符处理 for ((j=0;j<${#input};j++)); do char="${input:j:1}" # 如果是小写字母,转换为大写 if [[ "$char" =~ [a-z] ]]; then char=$(echo "$char" | tr 'a-z' 'A-Z') fi # 获取字符的6行表示 if [[ -n "${bigfont[$char]}" ]]; then # 将字符的6行分割到数组 IFS=$'\n' read -r -d '' -a char_lines <<< "${bigfont[$char]}" # 将每行添加到输出数组 for ((i=0;i<lines;i++)); do # 如果字符行数不够,用空格补齐 if [[ -n "${char_lines[$i]}" ]]; then line_content="${char_lines[$i]}" else line_content="" fi # 固定宽度:每个字符占10个字符宽度 output_lines[$i]="${output_lines[$i]}${line_content} " done else # 对于未定义的字符,用空格占位 for ((i=0;i<lines;i++)); do output_lines[$i]="${output_lines[$i]}${char} " done fi done # 打印所有行 for ((i=0;i<lines;i++)); do echo "${output_lines[$i]}" done } # 测试函数 test_print() { echo "=== 测试数字 ===" print_big "1234567890" echo "" echo "=== 测试字母 ===" print_big "ABCDEFGHIJKL" print_big "MNOPQRSTUVWXYZ" echo "" echo "=== 测试混合 ===" print_big "HELLO 2024" } # 如果传入参数,则打印参数,否则运行测试 if [[ $# -gt 0 ]]; then print_big "$*" else test_print fi

运行测试

# 打印参数 ./bigfont.sh "HELLO WORLD" # 或者直接运行脚本测试 ./bigfont.sh

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/19 11:47:37

接口(集成)平台设计(一)-服务,接口,数据集和数据源

简介接口中台为消费者应用(数据需求)和数据提供者集成提供一站式的服务&#xff0c;是系统间的数据枢纽&#xff0c;支持各种数据源&#xff0c;可视化构建数据集&#xff0c;可视化编排接口&#xff0c;发布服务&#xff0c;0代码实现系统间数据交换。本文解释接口平台架构设计…

作者头像 李华
网站建设 2026/4/16 20:58:22

python_django基于微信小程序的服装商城销售管理平台

文章目录摘要核心功能技术架构优势系统设计与实现的思路主要技术与实现手段源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要 基于微信小程序的服装商城销售管理平台结合了Django后端框架与微信小程序前端技术&#xff0c;旨在提供高效…

作者头像 李华
网站建设 2026/2/28 3:40:09

区块链|钱包开发的相关问题

1) 钱包到底是什么&#xff1a;边界先定清 钱包本质上是密钥管理 签名器&#xff08;signer&#xff09; 交易构造器 链交互客户端。它通常不“存币”&#xff0c;资产在链上&#xff1b;钱包只负责控制“花费权限”&#xff08;私钥/门限签名/MPC 等&#xff09;。 常见形…

作者头像 李华
网站建设 2026/4/17 21:26:33

【无人机配送】基于蒙特卡洛的多旋翼无人机自主配送安全智能系统,引入外部扰动与参数偏差,评估无人机着陆精度与飞行安全性附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

作者头像 李华
网站建设 2026/4/13 15:41:38

66666666

66666

作者头像 李华
网站建设 2026/4/3 2:48:54

工业级语音处理神器!A-59U 双通道多模模块技术解析 + 应用指南

在音频通话、智能交互、安防监控等场景中&#xff0c;回音、噪音干扰、拾音范围受限一直是行业痛点。而 A-59U 作为一款集成 USB 功能的工业级双通道多模语音处理模块&#xff0c;凭借超强消回音、AI 降噪、双波束拾音等核心能力&#xff0c;完美解决了这些问题。本文将从产品特…

作者头像 李华