[oeasy]python0035_ 整合shell编程_循环_延迟_清屏
整合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
[oeasy]python0035_ 整合shell编程_循环_延迟_清屏的更多相关文章
- 04 shell编程之循环语句
Shell编程之循环语句 学习目标: 掌握for循环语句编程 掌握while循环语句编程 目录结构: For循环语句 l 读取不同的变量值,以逐个执行同一组命令 l For语句结构 for 变量名 ...
- shell编程之循环语句for / while / until
shell编程之循环语句与函数 一.条件测试 二.循环语句 ① for循环语句结构(遍历) 示例1 示例2 ② while循环语句结构(迭代) 示例1 示例2 ③ until 循环语句结构 示例1 一 ...
- Shell编程之循环语句与echo的用法
Shell编程之循环语句与echo的用法 目录 Shell编程之循环语句与echo的用法 一.echo用法 1. echo常用选项 2. 常用的转义字符 3. 特殊符号%.#的用法 二.循环语句 1. ...
- Linux - 简明Shell编程06 - 循环语句(Loop)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash # for循环 for fil ...
- shell编程之循环
一.for循环 for循环是Shelll中最常见的循环结构,根据书写习惯又分为列表for循环.不带列表的for循环以及类C的for循环.for循环是一种运行前的测试语句,也就是在运行任何循环体之前先要 ...
- Shell 编程(循环)
for in 循环语句 #!/bin/bash for x in one two three four do echo number $x done 例:取出passwd中每一行name 并输出 he ...
- Linux centosVMware shell编程 for循环、while循环、break跳出循环、continue结束本次循环、exit退出整个脚本
一.for循环 语法:for 变量名 in 条件; do …; done 案例1 #!/bin/bash sum=0 for i in `seq 1 100` do sum=$[$sum+$i] ec ...
- shell编程之循环语句
for #! /bin/sh for FRUIT in apple banana pear; do echo "I like $FRUIT" done while #! /bin/ ...
- 【Python开发】【编程开发】各种系统的清屏操作命令
mac os x terminal清屏快捷键 cammand+k linux系统清屏快捷键 ctrl+l linux系统命令行清屏命令 clear windows 命令行清屏命令 cls Matlab ...
- C Primer Plus_第6章_循环_编程练习
1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...
随机推荐
- 【漏洞复现】用友NC uapjs RCE漏洞(CNVD-C-2023-76801)
产品介绍 用友NC是一款企业级ERP软件.作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计.采购管理.销售管理.物料管理.生产计划和人力资源管理等,帮助企业实现数字化转型和高效管 ...
- 鸿蒙HarmonyOS实战-Stage模型(开发卡片事件)
一.开发卡片事件 HarmonyOS元服务卡片页面(Metaservice Card Page)是指在HarmonyOS系统中,用于展示元服务的页面界面.元服务是指一组提供特定功能或服务的组件,例如天 ...
- MLOps 学习之旅「GitHub 热点速览」
又是 AI 神仙打架的一周,上周 OpenAI 发布了最新的 GPT-4o 模型,而谷歌也紧跟着开源了 Gemma 2 模型.随着 AI 大模型不断地变强,各大科技巨头正利用它们重塑自家的产品,这也让 ...
- 🔥 FolkMQ v1.5.1 发布(“新式” 国产消息中间件)
FolkMQ 是个"新式"的消息中间件.强调:"小而巧"."简而强". 功能简表 角色 功能 生产者(客户端) 发布普通消息.Qos0消息. ...
- NOIP模拟67
前言 从这一次到 71 都是多校联考了,尽管考的不咋样.. T1 数据恢复 解题思路 这个题真的是.. 先声明一个点,对于优先队列以及 set 都是在某个元素插入的时候进行比较,但是在之后如果修改比较 ...
- NumPy 通用函数(ufunc):高性能数组运算的利器
NumPy 通用函数(ufunc) 简介 NumPy 通用函数(ufunc),代表"通用函数",是一类用于对 ndarray 对象进行逐元素运算的高性能函数.ufunc 使 Num ...
- 连续段 dp - 状态转移时依赖相邻元素的序列计数问题
引入 在一类序列计数问题中,状态转移的过程可能与相邻的已插入元素的具体信息相关. 这类问题通常的特点是,如果只考虑在序列的一侧插入,问题将容易解决. 枚举插入顺序的复杂度通常难以接受,转移时枚举插入位 ...
- docker-20.10.24搭建ferry工单系统
安装文档 https://www.fdevops.com/docs/ferry-tutorial-document/introduction 必须要有docker环境,19.03以上的 本文档需用户自 ...
- 小米红米手机应用APP字体太小
小米红米手机应用APP字体太小 调整了手机显示大小,只能解决一点点,还是有点小,比如B站.微博. 调整了系统字体大小,B站.微博又不受系统字体大小控制. 只能通过修改最小宽度来解决. 1.打开开发者选 ...
- JavaScript模块化笔记
JavaScript模块化笔记 一个模块就是一堆被封装到一个文件当中的代码,并使用export暴露部分代码给其他的文件.模块专注于一小部分功能并与应用的其他部分松耦合,这是因为模块间没有全局变量或共享 ...