iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >Shell中实现飞行文字效果
  • 845
分享到

Shell中实现飞行文字效果

文字效果Shell 2022-06-04 21:06:46 845人浏览 泡泡鱼
摘要

大家肯定见过WEB页面上飞行字的效果,但是在linux系统中,特别是bash命令行模式下,如何实现echo出来的字符串以飞行的特效展现出来呢? 这个特效不见得实用,但偶尔拿来自娱自乐或炫耀一番倒是个不错的方

大家肯定见过WEB页面上飞行字的效果,但是在linux系统中,特别是bash命令行模式下,如何实现echo出来的字符串以飞行的特效展现出来呢?
这个特效不见得实用,但偶尔拿来自娱自乐或炫耀一番倒是个不错的方法,呵呵,下面以一段shell Script代码来给大家讲解如何实现……


#!/bin/bash


[ -z $1 ] && echo "Input is invalid! " && exit 1

txt=($(cat $1|sed 's/ +/_/g'))

lines=${#txt[@]}

max_show=10   #最多显示行数(超过总行数则设为总行数)

[ ${max_show} -gt ${lines} ] && max_show=${lines}

hlt_line=3  #高亮显示位置(不超过总行1/2,设为3实际是第4行)

[ ${hlt_line} -gt $(( lines / 2 )) ] && hlt_line=$(( lines / 2 ))

sTTY=$(stty -g)  #保存终端设置


clear

echo -ne "33[?25l" #隐藏光标


spaces() {

local i j n

i=0; n=0

for (( j=0; j <= ${lines}; j++ ));do

[ $i -lt ${#txt[$j]} ] && (( i = ${#txt[$j]} )) && (( n = $j ))

done

echo ${txt[$n]}|sed 's/./  /g'

}


space_line=$(spaces)


#传递的参数是欲显示行的序数:show 1 表示第一行高亮显示

show() {

local i j text crt_line

j=$1


for (( i=0; i < max_show; i++ ));do

crt_line=$(( j + i - hlt_line ))

if [ $i -eq ${hlt_line} ] && [ ${crt_line} -ge 0 ] && [ ${crt_line} -le ${lines} ];then

text="33[;32m"${txt[${crt_line}]}"33[0m"

elif [ ${crt_line} -lt 0 ] || [ ${crt_line} -gt ${lines} ];then

text=${space_line}

else

text=${txt[${crt_line}]}

fi

echo -ne "33[$((i+3));0H${space_line}"

echo -ne "33[$((i+3));6H${text}"

done

}


#测试

for (( j = 0; j < lines + hlt_line +1 ; j++ ));do

show $j

sleep 1

done

恢复默认设置方法:


echo ""

stty ${sTTY} #恢复终端设置

echo -e "33[?25h33[0;0H" #恢复光标

--结束END--

本文标题: Shell中实现飞行文字效果

本文链接: https://www.lsjlt.com/news/17745.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Shell中实现飞行文字效果
    大家肯定见过WEB页面上飞行字的效果,但是在Linux系统中,特别是bash命令行模式下,如何实现echo出来的字符串以飞行的特效展现出来呢? 这个特效不见得实用,但偶尔拿来自娱自乐或炫耀一番倒是个不错的方...
    99+
    2022-06-04
    文字效果 Shell
  • Shell中怎么实现飞行文字效果
    Shell中怎么实现飞行文字效果,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。#!/bin/bash[ -z $1 ] &&...
    99+
    2023-06-09
  • 怎么用批处理实现的文字的飞入+变色效果
    小编给大家分享一下怎么用批处理实现的文字的飞入+变色效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!代码如下:@echo off&setlocal enabledelayedexpansion...
    99+
    2023-06-08
  • Javascript中怎么实现逐行滚动文字效果
    Javascript中怎么实现逐行滚动文字效果,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。//FILE: scrolltext.js CREATED: DannyKang...
    99+
    2023-06-03
  • CSS3如何实现文字浮雕效果,镂刻效果,火焰文字
    这篇文章主要介绍了CSS3如何实现文字浮雕效果,镂刻效果,火焰文字,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。要做出这个效果,首先必须知道css的一个属性:text-sha...
    99+
    2023-06-08
  • Android实现文字消除效果
    今天和大家分享一个如何从右到左消除文本的动画。 先看效果图: 由于项目和语音识别相关,有时候人在不经意间交流的无效音频会被识别出来,并展示于界面,为了美观,客户要求我们将这些无效的...
    99+
    2022-11-12
  • Android实现文字滚动效果
    Android 实现文字滚动效果,自己写了个timer小计时器,textview文字上下翻动效果: public class AutoTextView extends Te...
    99+
    2022-06-06
    动效 Android
  • vue实现文字滚动效果
    本文实例为大家分享了vue实现文字滚动效果的具体代码,供大家参考,具体内容如下 项目需求:系统公告,要从右忘左循环播放的牛皮广告效果。 实现: 方案一:使用定时器和CSS3的过渡属性...
    99+
    2022-11-13
  • CSS3中怎么实现文字描边效果
    这篇文章将为大家详细讲解有关CSS3中怎么实现文字描边效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CSS3作为新兴的前端技术可以实现很多复杂变化的效果...
    99+
    2022-10-19
  • VC中如何实现文字竖排效果
    这篇文章主要介绍VC中如何实现文字竖排效果 ,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!好多人都觉得在VC中实现文字竖排是一件很难的事情,其实可以使用“躺”着的字体很方便的实现文字竖排。Windows中有一些字体是...
    99+
    2023-06-08
  • 纯CSS3怎么实现文字效果
    这篇文章主要介绍了纯CSS3怎么实现文字效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。今天我们来研究几款文字效果,主要利用text-shadow、webkit内核的几个独...
    99+
    2023-06-15
  • js实现文字滚动的效果
    本文实例为大家分享了js实现文字滚动的效果的具体代码,供大家参考,具体内容如下 在之前小编已经和大家介绍了一些常用的js动画效果,在此,和大家介绍一种可能不太常用的动画效果。该动画效...
    99+
    2022-11-13
  • 微信小程序实现多行文字滚动效果
    本文实例为大家分享了微信小程序实现多行文字滚动的具体代码,供大家参考,具体内容如下 wxml <view class="full" style="height:100%;o...
    99+
    2022-11-11
  • HTML5如何实现字中字效果
    这篇文章主要介绍了HTML5如何实现字中字效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。用html5实现如图字中有字效果实现思路:用ca...
    99+
    2022-10-19
  • css3怎么实现文字渐变效果
    本篇内容介绍了“css3怎么实现文字渐变效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   基础样式...
    99+
    2022-10-19
  • css如何实现文字环绕效果
    这篇文章主要讲解了“css如何实现文字环绕效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css如何实现文字环绕效果”吧! 方...
    99+
    2022-10-19
  • css文字划线效果怎么实现
    这篇文章主要介绍“css文字划线效果怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“css文字划线效果怎么实现”文章能帮助大家解决问题。 一、文字中划线CS...
    99+
    2022-10-19
  • C#实现会移动的文字效果
    本文实例为大家分享了C#实现会移动的文字效果的具体代码,供大家参考,具体内容如下 1 题目描述 (1)Form1窗体设计界面如下: (2)窗体左侧为一个靠左停靠的panel,其中包...
    99+
    2022-11-12
  • Three.js+React实现3D文字悬浮效果
    目录背景效果实现资源引入DOM结构设置状态网格背景场景初始化创建材质创建文字模型创建几何体模型鼠标事件监听背景色切换后期渲染动画缩放适配双击全屏总结 背景 在 Three....
    99+
    2022-11-13
  • ps文字阴影效果如何实现
    这篇文章主要介绍了ps文字阴影效果如何实现,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在文字的展现形式上,为了突出效果,我们可以给文字加上阴影的效果。下面我们就来一起看看,...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作