整合shell编程
回忆上次内容
-  
用
\r- 可以让输出位置回到行首
 - 原位刷新时间
 
 -  
如果想要的是大字符效果
- 需要使用 figlet
 - 但同时还希望能刷新
 
 

- 这可能吗?🤔
 
建立脚本
- 我们得熟悉一下
shell -  
先新建一个test.sh
- vi test.sh
 
 
python3 show_time.py python3 show_time.py python3 show_time.py
- 看起来就是把这个内容输出了 3 次
 

- 可以执行么?
 
尝试执行
- 注意执行细节
 

-  
在vim的正常状态用
:w|!sh %执行:w保存|并且执行-  
!sh %用外部命令sh执行这个test.sh- 注意这里使用的外部程序不是python
 - 而是sh
 - sh 就像 python3 是外部命令名
 -  
% 代指test.sh
- 就像以前的sleep.py
 - 是文件名
 
 
 
 

- 确实输出了三次时间
 - 但我还想把字变大怎么办呢?
 
figlet变大
-  
show_time.py的输出字符串- 直接通过 
管道|给到figlet 
 - 直接通过 
 -  
其中
-  
show_time.py程序- 只负责输出时间
 
 -  
输出的结果
- 通过
管道|给figlet 
 - 通过
 -  
figlet
- 负责变大
 
 
 -  
 

- 如果想要输出三个变大之后的时间
 - 应该如何呢?
 
三次输出
-  
修改test.sh
- vi test.sh
 - 编写以下文件
 
 
python3 show_time.py | figlet python3 show_time.py | figlet python3 show_time.py | figlet
- 尝试运行
 

- 运行结果
 

-  
确实变大了
- 而且输出了三次
 
 -  
现在需要不只输出三次
- 而是无限多次不断刷新
 - 应该怎么办呢?
 
 
尝试循环
- 无限多次肯定需要循环!
 -  
原来放在
python文件中的的循环和定时功能- 现在都需要放在 
sh脚本文件里 - 由 
shell来控制延迟的节奏 
 - 现在都需要放在 
 -  
那问题来了
sh脚本文件如何进行循环?
 
搜索一下!


- 尝试根据这个修改
 
shell循环
-  
在shell中
- 新编辑一个
loop.sh vi loop.sh
 - 新编辑一个
 - 输入以下内容
 
for a in {1..10}
do
    echo $a
done 
- 尝试运行此文件
 
保存并运行

:w保存当前文档:!sh %运行当前shell:w|!sh %保存并运行当前shell- 执行的结果如下
 

- 成功循环了起来
 -  
光是循环还不够
- 还需要延迟
 
 - 怎么办?
 
搜索延迟

for a in {1..10}
do
    echo $a
    sleep 1s
done 

-  
:w|!sh %- 保存并运行当前 
shell 
 - 保存并运行当前 
 -  
延迟成功
- 接下来需要输出时间了
 - 而且是通过管道给 
figlet的大时间 
 
整合 python
-  
把原来数字的部分换成执行命令
python3 show_time.py | figlet
 
for a in {1..10}
do
    python3 show_time.py | figlet
    sleep 1s
done 
-  
输出成功
- 确实可以刷新
 - 但是一屏幕上
 - 有两个时间
 
 - 很乱!
 

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

for a in {1..10}
do
    clear
    python3 sleep.py | figlet
    sleep 1s
done 
- 先去总结一下
 
总结
- 这次我们研究了shell脚本的编程
 -  
并且在shell中实现了
- 循环语句
 - 延迟命令
 - 清屏命令
 - python命令
 - figlet命令
 
 

- 还能整点什么呢?🤔
 - 下次再说👋
 - 蓝桥->oeasy 教您玩转 python_Python - 蓝桥云课
 - github->GitHub - overmind1980/oeasy-python-tutorial: 良心的 Python 教程,面向零基础初学者简明易懂的 Python3 入门基础课程。在linux+vim生产力环境下,从浅入深,从简单程序学到网络爬虫。可以配合蓝桥云上实验环境操作。
 - gitee->oeasy教您玩转python教程: 面向零基础初学者的简明易懂的 Python3 入门课程,对没有编程经验的同学也非常友好。在vim下从浅入深,逐步学习。从基础入门学习到爬虫。
 - 视频->[oeasy]教您玩转python零基础学python入门教程(合集)_哔哩哔哩_bilibili 作者:oeasy
 


















