Skip to content

Latest commit

 

History

History
211 lines (154 loc) · 3.81 KB

265-920587-大字报时效果_figlet_python_lolcat_time.sy.md

File metadata and controls

211 lines (154 loc) · 3.81 KB
show version enable_checker
step
1.0
true

大字报时效果

回忆上次内容

  • 上次 我们研究了 shell脚本的编程
  • 并且 在shell中 实现了
    • 循环 语句
    • 延迟 命令
    • 清屏 命令
    • figlet命令

图片描述

  • 想要用彩色字体循环报时可以吗?🤔

尝试整合

  • 尝试 把show.py 整合进来
#!usr/bin/python3
import time
while True:
    print(time.asctime(),end='\r')
    time.sleep(1)
  • 通过管道 流到 figlet

尝试整合

  • 卡住 不动了
    • 尝试 失败了

图片描述

  • 先把 那个\r去掉
    • 结果 是不行
  • 为什么 会这样 呢?

失败原因

  • 循环 和 延迟
    • 阻碍着
      • 往管道里 送东西
#!/usr/bin/python3
import time
print(time.asctime())
  • 新建 show.py
    • 只纯纯 输出时间

最终

  • 新建show.py
    • 把循环、延迟
    • 都去掉

图片描述

  • :w|!python3 %
    • 保存并运行

图片描述

  • :wq
    • 保存 并退出

运行

  • 在shell里 运行
    • python3 show.py

图片描述

  • 在shell里 输出重定向
    • python3 show.py | figlet

图片描述

  • 输出大时间
    • 可以
  • 但是 不会刷新
    • 而且 太大了
    • 超过 一行了

图片描述

  • 还想要 刷新大时间
    • 这可能吗?🤔

整合 python

  • 把原来输出数字的部分
    • echo $a
  • 换成执行命令
    • python3 show.py | figlet
vi
  • 输出 成功!
    • 确实 可以刷新
    • 但是 一屏幕 里面
    • 有 两个时间
  • 很乱!

图片描述

  • 少则得 多则惑!
    • 我想 只要一个!
  • 可以 清一下屏幕 么?

尝试清屏

图片描述

for a in {1..10}
do
	clear
	python3 sleep.py | figlet | lolcat
	sleep 1s
done
  • 将 cowsay 再融合进来

把 cowsay 整合进来

  • 把 figlet的输出结果
    • 再送到 cowsay -f moose -n
  • 其实 就是
    • 一步步 通过管道流淌的 过程
for a in {1..10}
do
	clear
	python3 show_time.py | figlet |cowsay -f moose -n
	sleep 1s
done
  • 看起来 有点复杂
    • -f moose
      • 使用 驼鹿
    • -n
      • 保留 转义字符\n
      • 避免 屏幕混乱
  • 可以改变颜色吗?

整合 lolcat

  • 整合lolcat
    • 进入 loop.sh
  • 循环中
    • 清屏 后
    • 输出 时间
    • 再 延时
for a in {1..100}
do
    clear
    python3 show.py | figlet | cowsay -f moose -n | lolcat
    sleep 1s
done
  • 输出 时间
    • 文本 长度太长

图片描述

  • 想要

    • 不输出 年月日
    • 输出 时分秒
  • 先去 总结一下

总结

  • 这次 我们研究了
    • shell脚本
    • python
  • 在shell脚本中 实现了
    • 循环 语句
    • 延迟 命令
    • 清屏 命令
    • figlet命令
    • lolcat命令
    • 调用python3 showpy

图片描述

  • 在python脚本中 实现了
    • 报时功能
  • 还能 整点什么 呢?🤔
  • 下次再说👋