整合shell编程
回顾上次内容
用
\r
- 能够让输入地位回到行首
- 原位刷新工夫
如果想要的是大字符成果
- 须要应用 figlet
- 但同时还心愿能刷新
- 这可能吗?
建设脚本
- 咱们得相熟一下
shell
先新建一个test.sh
- vi test.sh
python3 show_time.pypython3 show_time.pypython3 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 | figletpython3 show_time.py | figletpython3 show_time.py | figlet
- 尝试运行
- 运行后果
的确变大了
- 而且输入了三次
当初须要不只输入三次
- 而是有限屡次一直刷新
- 应该怎么办呢?
尝试循环
- 有限屡次必定须要循环!
原来放在
python文件
中的的循环和定时性能- 当初都须要放在
sh脚本
文件里 - 由
shell
来管制提早的节奏
- 当初都须要放在
那问题来了
sh脚本文件
如何进行循环?
搜寻一下!
- 尝试依据这个批改
shell循环
在shell中
- 新编辑一个
loop.sh
vi loop.sh
- 新编辑一个
- 输出以下内容
for a in {1..10}do echo $adone
- 尝试运行此文件
保留并运行
:w
保留以后文档:!sh %
运行以后shell
:w|!sh %
保留并运行以后shell
- 执行的后果如下
- 胜利循环了起来
光是循环还不够
- 还须要提早
- 怎么办?
搜寻提早
for a in {1..10}do echo $a sleep 1sdone
:w|!sh %
- 保留并运行以后
shell
- 保留并运行以后
提早胜利
- 接下来须要输入工夫了
- 而且是通过管道给
figlet
的大工夫
整合 python
把原来数字的局部换成执行命令
python3 show_time.py | figlet
for a in {1..10}do python3 show_time.py | figlet sleep 1sdone
输入胜利
- 的确能够刷新
- 然而一屏幕上
- 有两个工夫
- 很乱!
我想只有一个!
- 少则得多则惑!
- 能够清一下屏幕么?
尝试清屏
for a in {1..10}do clear python3 sleep.py | figlet sleep 1sdone
- 先去总结一下
总结
- 这次咱们钻研了shell脚本的编程
并且在shell中实现了
- 循环语句
- 提早命令
- 清屏命令
- python命令
- figlet命令
- 还能整点什么呢?
- 下次再说
- 蓝桥->https://www.lanqiao.cn/course...
- github->https://github.com/overmind19...
- gitee->https://gitee.com/overmind198...
- 视频->https://www.bilibili.com/vide... 作者:oeasy