shell花活-摸鱼神器-2023-01-18

写了一个shell脚本,让终端假装在写代码

准备工作

  • 自己上github找项目,clone下来
  • 有个shell,运行脚本,支持文件、文件夹

脚本运行

$ ./imitationGame.sh  hello.go
$ ./imitationGame.sh  world/

脚本

#!/bin/bash

## 获得500内随机数
function rand()
{
        num=$RANDOM$RANDOM
        ((ret=num%500))
        echo $ret
}

## 打印文件内容
## 空行换行时不sleep,非空行换行sleep 1.x秒
## 空字符不sleep,非空字符sleep 0.x秒
function echoFile() {
        inputFile=$(realpath $1)
        for lineCount in `seq 1 $(wc -l $inputFile | awk '{print $1}')`;do
                line=`head -n $lineCount $inputFile | tail -n 1`

                ## NOT empty line
                if echo $line | grep -v ^$ &>/dev/null; then
                        sleep 1.$(rand)
                fi
                for num in `seq 1 $(echo -n "$line" | wc -c )`;do
                        character=`echo "$line" | cut -c $num`
                        if ! [ -z "$character" ];then
                                sleep 0.$(echo $RANDOM)
                        fi
                        #printf "%s" "$character"
                        echo -n -e "\e[32m`printf "%s" "$character"`"
                done
                echo
        done
}

## 启动时清屏
clear

input=$(realpath $1)

if [ -d $input ];then
        for file in `find $input -type f`;do
                echoFile $file
        done
else
        echoFile $input
fi
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Git工作流程 image 以上包括一些简单而常用的命令,但是先不关心这些,先来了解下面这4个专有名词。 Wo...
    cuiyao50阅读 352评论 0 0
  • title: Kaldidate: 2019-05-11 09:44:28tags: kaldi 说明最好在类Un...
    XEBY_ec67阅读 9,246评论 0 4
  • 名称 githooks-Git使用的挂钩。(githook在官网的介绍[https://git-scm.com/d...
    _海角_阅读 5,755评论 0 0
  • 前言 由于工作中会根据不同环境,证书进行发布测试包,为了能不耽误开发的同时,对shell进行了简单的了解 可以通过...
    灬朴一生阅读 1,618评论 1 6
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,949评论 2 59