shell编程入门之提取字符并设置rtc时间

awk用法

awk是一款文本处理工具,通常在Unix和Linux操作系统中使用,用于以行为单位对文本进行处理和操作。它可以读取输入文本,对其进行处理,生成报表、统计信息等,并将结果输出到标准输出设备中。

它主要有以下特点:

一、可以处理结构化数据,如模拟数据库的关系型数据操作;

二、支持正则表达式匹配和字符串操作;

三、可以使用多个内置变量和函数,方便快捷地对数据进行处理;

四、支持流程控制和条件处理;

五、支持与其他Unix及Linux命令行工具配合使用;

awk的语法结构比较简单,它的基本语法格式如下:

cs 复制代码
awk 'pattern {action}' filename

设置rtc时间脚本

cs 复制代码
#!/bin/sh

echo -e "\e[1;36m-------------RTC TEST-------------\e[0m"

date -s "2023-1-1 00:00:00"

hwclock -w

year=$(hwclock | awk '{print $5}')

month=$(hwclock | awk '{print $2}')

day=$(hwclock | awk '{print $3}')



if [ $year -eq 2023 ] && [ "$month" = "Jan" ] && [ $day -eq 1 ]

then

        echo -e "\e[1;32m RTC OK \e[0m"

else

        echo -e "\e[1;31m RTC ERR \e[0m"

fi

RTC(实时时钟)功能的脚本程序,主要分为以下几个步骤:

一、使用echo命令输出一段提示信息,表示开始测试RTC功能。

二、使用date命令设置系统时间为2023年1月1日0时0分0秒。

三、使用hwclock命令将系统时间写入RTC芯片中。

四、使用hwclock命令分别获取当前年、月、日,并使用awk命令取出对应的数值。

五、使用if语句判断当前年、月、日是否等于预设值2023年1月1日。

六、如果当前年、月、日等于预设值,则使用echo命令输出一段带有颜色的提示信息,表示RTC功能测试通过,并将测试结果写入一个指定的文件中。

七、如果当前年、月、日不等于预设值,则使用echo命令输出一段带有颜色的提示信息,表示RTC功能测试失败,并将测试结果写入指定的文件中。

开发板测试

cs 复制代码
root@ELF1:~# chmod 777 rtc.sh

root@ELF1:~# ./rtc.sh
相关推荐
松涛和鸣16 分钟前
45、无依赖信息查询系统(C语言+SQLite3+HTML)
c语言·开发语言·数据库·单片机·sqlite·html
南工孙冬梅21 分钟前
Linux中安装配置nfs
linux·运维·php
清风66666622 分钟前
基于单片机控制的多模式智能冰箱设计—冷藏、速冷、省电与自动化霜功能实现
单片机·自动化·毕业设计·nosql·课程设计·期末大作业
水天需01024 分钟前
HISTCMD 介绍
linux
晚风吹人醒.33 分钟前
Linux系统安全及应用(账号权限管理、登录控制、弱口令、端口扫描)
linux·运维·系统安全·grub·sudo·账号管理
躲在云朵里`41 分钟前
Linux环境下部署SpringBoot前后端分离项目
linux·服务器
橘颂TA1 小时前
【Linux】从 “抢资源” 到 “优雅控场”:Linux 互斥锁的原理与 C++ RAII 封装实战(Ⅰ)
linux·运维·服务器·c++·算法
RisunJan1 小时前
Linux命令-init命令(管理运行级别和控制系统状态)
linux·运维·服务器
ayaya_mana1 小时前
Chrony:通用-替换国内 NTP 源进行时间同步
linux·运维·服务器·chrony
深耕半夜1 小时前
debug函数
linux·运维·服务器