2015年开年小脚本

#!/bin/bash

pos=(1 1)
off=(1 1)
year=(2 0 1 5)
winch=1

echo -ne "\e[?1049h\e[?25l"
trap 'echo -ne "\e[?1049l\e[?25h";exit' INT
trap winch=1 WINCH

if which usleep >/dev/null; then
  SLEEP="usleep 30000"
else
  SLEEP="sleep 0.03"
fi

while :; do
  if ((winch)); then
    winch=0
    max=($(stty -a | tr ';' '\n' | awk '/rows|columns/{print $2}'))
    for i in 0 1; do
      ((pos[i] > max[i])) && ((pos[i] = max[i]))
    done
    echo -ne "\e[2J"
  fi

  echo -ne "\e[3$((c++%7+1))m\e[${pos[0]};${pos[1]}H${year[$((y++%${#year[*]}))]}\e[0m"

  for i in 0 1; do
    t=$((pos[i] + off[i]))
    ((t<1 || t>max[i])) && ((off[i] = -off[i]))
    ((pos[i] += off[i]))
  done

  $SLEEP
done

2015年开年小脚本_第1张图片

玩具脚本 改变窗口大小时重绘 按Ctrl+C退出 


你可能感兴趣的:(2015年开年小脚本)