设为首页 加入收藏

TOP

尝试阅读理解一份linux shell脚本(四)
2023-07-23 13:34:02 】 浏览:81
Tags:解一份 linux shell 脚本
bsp;awk -F":" '{print $2}')     if [ ! -e "$item_filename" ]; then         AddRecord "$item_filename missing"         AddError     fi     acture_md5=$(md5sum "$item_filename" | awk '{print $1}')     if [ "$item_filemd5" = "$acture_md5" ]; then         continue     else         AddRecord "$item_filename" "md5 diff! file:" "$item_filemd5" "acture:" "$acture_md5"         AddError     fi done </tmp/MachineDecDir/check_md5list

while read xxx; do
...
done </filename
循环读取文件名 filename 所指向的文件的内容,每读取一行存入 xxx 变量。read xxx为 while 语句的判断语句,判断语句和 do如果不在同一行,则 ;可省略,如:
while read xxx
do
...
done </filename

read 后边的 -r 表示读取内容过程中对特殊字符有效,如 / (输入未结束需要换行继续输入的特殊符号),'/n' 等等。

[ -n "${line}" ] 判断 line 的内容不为空。而前边的 '||' 表示前一语句 read -r line 返回 false 才执行这个语句。

[ "$line" = "" ] && continue 表示如果 line 的内容为空则执行 continue;continue 命令用于跳过当前循环内容回去执行 while 判断语句。

 item_filename=$(echo "$line" | awk -F":" '{print $1}') 声明变量 item_filename 并以后边语句执行结果赋值。awk -F":" '{print $1}') 将输入的内容按照 : 来划分字段并输出第1个字段。awk -F":" '{print $2}') 则是将输入的内容按照 ':' 来划分字段并输出第2个字段。

if [ ! -e "$item_filename" ] 用于判断变量 item_filename 代表的文件名所指的文件是否不存在。!表示取反。if 判断的内容为 true 则执行 then 后边的语句,直到 fi 为止,否则跳过。

md5sum "$item_filename" 表示计算变量 item_filename 代表的文件名所指的文件的MD5值。

 | awk '{print $1}' 将前一语句的输出通过管道连接到后边的这个语句的输入,默认按照空格划分内容并输出第1个字段内容。

if [ "$item_filemd5" = "$acture_md5" ]; then 判断 item_filemd5 和 acture_md5 所代表的内容作为字符串是否一样,是则执行 then 后的语句。continue 指示程序执行流程直接回到执行 while 判断语句。else 后的语句块当 if 的判断条件不为 true 时执行。

#找到 U 盘路径
UDiskMountDir=$(df | grep /mnt/sd | awk 'END{print $NF}')
#校验mcu程序版本,U盘下有mcuversion.txt才校验
UDiskMountDirfile="${UDiskMountDir}/SpecialDir/mcuversion.txt"
CurMcuVersionFile="/tmp/mcuversion.txt"
if [ -f "$UDiskMountDirfile" ]; then
    TargetMcuVersion=$(cat "$UDiskMountDirfile")
    if [ -f "$CurMcuVersionFile" ]; then
        CurMcuVersion="$(cat "$CurMcuVersionFile")"
        if [ "$TargetMcuVersion" !=&nb
首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇rsync 下一篇Linux系统安装Mysql8.0流程与遇到..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目