【发布时间】:2021-02-16 16:17:56
【问题描述】:
根据学习一些关于 bash 脚本的知识,我发现了这个有趣的 bash 脚本。
我很好奇它的详细工作原理,但我是 bash 脚本的初学者。
我了解,分号分隔多个命令,并且使用了一些预定义的变量,例如 $LINES 和 $RANDOM,稍后会通过管道传输某些内容,但仅此而已。
为什么只有在一行中粘贴才能执行?
信息: 我在 Windows 10 上使用 Git Bash
也许有经验的人可以走一遍?需要额外的解释。
echo -e "\e[1;40m" ; clear ; while :; do echo $LINES $COLUMNS $(( $RANDOM % $COLUMNS)) $(( $RANDOM % 72 )) ;sleep 0.05; done|awk '{ letters="ABCDEFGHIJKLMNOPQRSTUVWXYZムキノフレアイ√メリ0123456789()₿₹₵иηøρгţчςợгµαϤδχϞϗγπϥ";c=$4; letter=substr(letters,c,1);a[$3]=0;for (x in a) {o=a[x];a[x]=a[x]+1; printf "\033[%s;%sH\033[2;32m%s",o,x,letter; printf "\033[%s;%sH\033[1;37m%s\033[0;0H",a[x],x,letter;if (a[x] >= $1) { a[x]=0; } }}'
【问题讨论】: