简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中...... 】🚀
优质专栏:多媒体系统工程师系列【原创干货持续更新中...... 】🚀
优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门实战课【原创干货持续更新中......】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
更多原创,欢迎关注:Android系统攻城狮
🍉🍉🍉文章目录🍉🍉🍉
-
- 🌻1.前言
- 🌻2.shell语言介绍
- 🌻3.代码实例
-
- [🐓3.1 计算程序编译前后的时间](#🐓3.1 计算程序编译前后的时间)
- [🐓3.2 如果超过60秒,则转换成分钟;如果超60分钟,则转换成小时。](#🐓3.2 如果超过60秒,则转换成分钟;如果超60分钟,则转换成小时。)
- [🐓3.3 修改优化显示格式](#🐓3.3 修改优化显示格式)
- [🐓3.4 增加显示颜色功能](#🐓3.4 增加显示颜色功能)
🌻1.前言
本篇目的:shell进阶之计算编译前后时间
🌻2.shell语言介绍
- Shell语言,又称Shell脚本,是一种基于Unix和Linux操作系统的命令行脚本语言。它主要用于自动化任务、配置系统、编写程序等。Shell语言的强大之处在于它可以方便地调用系统命令、处理文件和目录、进行条件判断和循环等操作。
- Shell语言的基本语法与C语言类似,但更为简洁。它主要由命令、参数和注释组成。命令是Shell语言的核心,用于执行各种操作。参数是命令后面的变量,用于指定命令的执行参数。注释是用井号(#)开头的文本,用于解释代码。
- Shell语言的功能十分强大。它可以执行系统管理任务,如创建、删除、移动文件和目录;查看、修改文件权限;查看、调试系统日志等。此外,Shell语言还可以编写程序,实现复杂的业务逻辑。这使得Shell语言成为系统管理员和开发人员必备的技能。
- Shell语言还具有很高的灵活性。它支持各种控制结构,如条件判断(if、else、case等)、循环(for、while等)和函数。这些控制结构使得Shell脚本可以处理各种复杂场景。此外,Shell语言还支持管道操作,可以将多个命令的输出作为另一个命令的输入,实现命令之间的数据传递。
- 在实际应用中,Shell语言常用于自动化部署、运维任务、测试等。例如,通过编写Shell脚本,可以自动化地部署应用程序、配置网络、备份数据等。同时,Shell语言还可以与其他编程语言结合使用,如Python、Java等,实现更高效、更复杂的业务逻辑。
- 为了提高工作效率,许多系统管理员和开发人员会编写一些常用的Shell脚本,以便快速执行重复性任务。将这些常用的脚本保存为一个文件,并在需要时运行,可以大大提高工作效率。
- Shell语言是一种功能强大、灵活易用的脚本语言。掌握Shell语言,可以让你在Unix和Linux系统中更加得心应手,提高工作效率。无论你是系统管理员、开发人员还是普通用户,学习Shell语言都会对你有所帮助。
🌻3.代码实例
🐓3.1 计算程序编译前后的时间
cpp
#!/bin/bash
# 编译前的当前时间
before_compile=$(date +%s)
# 编译程序
sleep 1
# 编译后的当前时间
after_compile=$(date +%s)
# 计算编译耗时
compile_time=$((after_compile - before_compile))
# 输出编译耗时
echo "Compilation time: $compile_time seconds"
打印:Compilation time: 1 seconds
🐓3.2 如果超过60秒,则转换成分钟;如果超60分钟,则转换成小时。
cpp
#!/bin/bash
# 编译前的当前时间
before_compile=$(date +%s)
# 编译程序
sleep 1
# 编译后的当前时间
after_compile=$(date +%s)
# 计算编译耗时
compile_time=$((after_compile - before_compile))
# 转换时间单位:先转换为分钟,如果超过60分钟再转换为小时
compile_minutes=$((compile_time / 60))
remaining_seconds=$((compile_time % 60))
# 输出编译耗时,先显示分钟数,再显示剩余秒数
echo "Compilation time (minutes:seconds): $compile_minutes:$remaining_seconds"
# 如果编译时间超过60分钟,再转换为小时和分钟
if [ $compile_minutes -gt 60 ]; then
compile_hours=$((compile_minutes / 60))
remaining_minutes=$((compile_minutes % 60))
echo "Compilation time (hours:minutes:seconds): $compile_hours:$remaining_minutes:$remaining_seconds"
fi
🐓3.3 修改优化显示格式
cpp
#!/bin/bash
# 编译前的当前时间
before_compile=$(date +%s)
# 编译程序
sleep 61
# 编译后的当前时间
after_compile=$(date +%s)
# 计算编译耗时
compile_time=$((after_compile - before_compile))
# 转换时间单位:先转换为分钟,如果超过60分钟再转换为小时
compile_minutes=$((compile_time / 60))
remaining_seconds=$((compile_time % 60))
# 输出编译耗时,先显示分钟数,再显示剩余秒数
echo "编译耗时: ($compile_minutes minutes $remaining_seconds seconds) ####"
# 如果编译时间超过60分钟,再转换为小时和分钟
if [ $compile_minutes -gt 60 ]; then
compile_hours=$((compile_minutes / 60))
remaining_minutes=$((compile_minutes % 60))
echo "编译耗时: ($compile_hours hour $remaining_minutes minutes $remaining_seconds seconds) ####"
fi
🐓3.4 增加显示颜色功能
cpp
#!/bin/bash
# 编译前的当前时间
before_compile=$(date +%s)
# 编译程序
sleep 1
# 编译后的当前时间
after_compile=$(date +%s)
# 计算编译耗时
compile_time=$((after_compile - before_compile))
# 转换时间单位:先转换为分钟,如果超过60分钟再转换为小时
compile_minutes=$((compile_time / 60))
remaining_seconds=$((compile_time % 60))
# 输出编译耗时,先显示分钟数,再显示剩余秒数(显示绿色: \033[0;32m)
echo -e "编译耗时: \033[0;32m ($compile_minutes minutes $remaining_seconds seconds) ####"
# 如果编译时间超过60分钟,再转换为小时和分钟
if [ $compile_minutes -gt 60 ]; then
compile_hours=$((compile_minutes / 60))
remaining_minutes=$((compile_minutes % 60))
#显示绿色: \033[0;31m
echo -e "编译耗时: \033[0;31m ($compile_hours hour $remaining_minutes minutes $remaining_seconds seconds) ####"
fi