shell腳本實現sha256sum校驗并拷貝校驗通過的文件

#!/bin/bash# 目標目錄
TARGET_DIR="/appdata/jn1m/versions/old/bin"# 校驗文件
CHECKSUM_FILE="checksum.txt"# 檢查目標目錄是否存在
if [ ! -d "$TARGET_DIR" ]; thenecho "錯誤:目標目錄 $TARGET_DIR 不存在"exit 1
fi# 檢查校驗文件是否存在
if [ ! -f "$CHECKSUM_FILE" ]; thenecho "錯誤:校驗文件 $CHECKSUM_FILE 不存在"exit 1
fi# 創建目標目錄(如果不存在)
mkdir -p "$TARGET_DIR"echo "開始驗證文件完整性并復制驗證通過的文件..."
echo "目標目錄: $TARGET_DIR"
echo "---------------------------------"# 計數器
total_files=0
copied_files=0# 逐行處理校驗文件
while IFS= read -r line; do# 跳過空行if [ -z "$line" ]; thencontinuefitotal_files=$((total_files + 1))# 提取文件名(去除開頭的"./")filename=$(echo "$line" | awk '{print $2}' | sed 's|^\./||')# 檢查文件是否存在if [ ! -f "$filename" ]; thenecho "× 文件不存在: $filename"continuefi# 創建臨時校驗文件temp_checksum=$(mktemp)echo "$line" > "$temp_checksum"# 驗證單個文件if sha256sum -c "$temp_checksum" >/dev/null 2>&1; thenecho "√ 驗證通過: $filename"# 復制文件到目標目錄if cp -v "$filename" "$TARGET_DIR/"; thenecho "  已復制到: $TARGET_DIR/"copied_files=$((copied_files + 1))elseecho "  復制失敗: $filename"fielseecho "× 驗證失敗: $filename"fi# 清理臨時文件rm -f "$temp_checksum"echo "---------------------------------"
done < "$CHECKSUM_FILE"# 顯示最終結果
echo "驗證完成!"
echo "總計文件: $total_files"
echo "驗證通過并復制: $copied_files"if [ "$total_files" -ne "$copied_files" ]; thenecho "警告: 部分文件未通過驗證或復制失敗"exit 2
elseecho "√ 所有文件驗證通過并成功復制"
fi

腳本功能說明:

  1. 驗證與復制流程

    • 逐行讀取checksum.txt文件

    • 對每個文件單獨進行SHA256校驗

    • 只復制驗證通過的文件到目標目錄

    • 顯示詳細的驗證和復制結果

  2. 目標目錄處理

    • 自動創建目標目錄(如果不存在)

    • 目標路徑設置為:/appdata/jn1m/versions/old/bin

  3. 錯誤處理

    • 檢查目標目錄是否存在

    • 檢查校驗文件是否存在

    • 處理文件不存在的情況

    • 顯示復制失敗的文件

    • 最終統計成功/失敗數量

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/93419.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/93419.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/93419.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

中小型泵站物聯網智能控制系統解決方案:構建無人值守的自動化泵站體系

一、系統核心架構與功能設計1.物聯網感知層設備互聯&#xff1a;網關對接壓力傳感器、超聲波液位計、智能電表、振動傳感器等&#xff0c;實時采集水泵運行狀態&#xff08;流量、壓力、溫度、振動&#xff09;、液位、水質&#xff08;pH值、濁度&#xff09;、能耗等關鍵參數…

網絡通信---Axios

1、什么是 Axios&#xff1f; Axios? 是一個基于 ?Promise? 的 ?HTTP 客戶端&#xff0c;用于瀏覽器和 Node.js 環境&#xff0c;用來發送 ?HTTP 請求&#xff08;如 GET、POST、PUT、DELETE 等&#xff09;?。 它常用于&#xff1a; 向后臺 API 發送請求獲取數據提交表…

Ubuntu 軟件源版本不匹配導致的依賴沖突問題及解決方法

在使用 Ubuntu 系統的過程中&#xff0c;軟件包管理是日常操作的重要部分。但有時我們會遇到各種依賴沖突問題&#xff0c;其中軟件源與系統版本不匹配是常見且棘手的一種。本文就來詳細分享一次因軟件源版本不匹配引發的依賴沖突問題&#xff0c;以及具體的解決思路和流程。一…

思考:高速場景的行星輪混動效率如何理解

行星輪混動 E-CVT&#xff08;電子無級變速器&#xff09;是一種專為混合動力汽車設計的動力分配系統&#xff0c;其核心原理是通過行星齒輪組和電機的協同工作&#xff0c;實現動力分流與無級變速。 一、核心結構與組成 E-CVT的核心部件包括 行星齒輪組 和 雙電機&#xff08;…

跨域及解決方案

跨域&#xff08;Cross-Origin&#xff09;是指瀏覽器在執行 JavaScript 的時候&#xff0c;因為同源策略&#xff08;Same-Origin Policy&#xff09;的限制&#xff0c;阻止了一個網頁去請求不同源&#xff08;域名、端口、協議有任意一個不同&#xff09;的資源。 1. 什么是…

PCA降維全解析:從原理到實戰

一文讀懂PCA降維&#xff1a;原理、實現與可視化全解析?本文6000字&#xff0c;涵蓋PCA核心原理、數學推導、代碼實戰及高頻面試題&#xff0c;建議收藏閱讀?一、為什么需要降維&#xff1f;數據爆炸時代的生存法則當數據集的特征維度激增&#xff08;如基因數據、推薦系統用…

Kafka工作機制深度解析:Broker、Partition 與消費者組協作原理

&#x1f42f; Kafka工作機制深度解析&#xff1a;Broker、Partition 與消費者組協作原理 &#x1f3c1; 前言 Kafka 已成為互聯網公司流式數據處理的事實標準&#xff0c;廣泛應用于日志收集、實時計算、事件驅動架構等場景。 很多開發者會用 Kafka&#xff0c;但不了解它底…

深入解析live555:開源流媒體框架的技術原理與應用實踐

引言&#xff1a;流媒體領域的"老兵"與技術基石 在實時音視頻傳輸技術的發展歷程中&#xff0c;live555作為一款誕生于1990年代末的開源項目&#xff0c;至今仍在流媒體服務器、嵌入式設備和安防監控等領域發揮著不可替代的作用。它由Live Networks公司開發并維護&a…

EN55014家用電器、電動工具和類似設備的電磁兼容

一、EN 55014標準定義與屬性&#xff1f;EN 55014 是針對家用電器、電動工具及類似設備的電磁兼容&#xff08;EMC&#xff09;標準&#xff0c;主要規定了這類產品在電磁騷擾發射&#xff08;避免干擾其他設備&#xff09;和抗擾度&#xff08;抵抗其他設備干擾&#xff09;方…

python自學筆記9 Seaborn可視化

Seaborn&#xff1a;統計可視化利器 作為基于 Matplotlib 的高級繪圖庫&#xff0c;有一下功能&#xff1a;一元特征數據 直方圖 import matplotlib.pyplot as plt import pandas as pd import seaborn as sns # import os # # 如果文件夾不存在&#xff0c;創建文件夾 # if…

kafka 消費者組的概念是什么?它是如何實現消息的點對點和發布/訂閱模式?

Kafka 消費者組&#xff08;Consumer Group&#xff09;是 Kafka 架構中的核心概念&#xff0c;它是一組共同協作來消費一個或多個主題&#xff08;Topic&#xff09;數據的消費者應用的集合。 通過簡單地為多個消費者實例配置相同的 group.id&#xff0c;它們就組成了一個消費…

C#文件復制異常深度剖析:解決“未能找到文件“之謎

一個看似簡單的文件操作問題 在C#開發中&#xff0c;文件操作是基礎中的基礎&#xff0c;但有時最基礎的File.Copy()方法也會拋出令人困惑的異常。最近我遇到了這樣一個問題&#xff1a; File.Copy(sourceFile, targetFilePath);當targetFilePath設置為D:\25Q1\MR3.6.6.1_C1.2.…

OpenCV Python——圖像查找(特征匹配 + 單應性矩陣)

1 圖像查找&#xff08;單應性矩陣&#xff09;2 單應性矩陣 應用舉例3 單應性矩陣 代碼示例P87 111 圖像查找&#xff08;單應性矩陣&#xff09; 特征匹配作為輸入&#xff0c;獲得單應性矩陣 點X在img1和img2中的成像分別為x,x 圖中H即為單應性矩陣 2 單應性矩陣 應用…

Ubuntu 安裝帶證書的 etcd 集群

1.概念 etcd 是由GO語言編寫的分布式的、可靠的鍵值存儲系統&#xff0c;主要用于分布式系統中關鍵數據的存儲和服務發現。 2.核心概念 節點&#xff08;Node&#xff09; 每個運行 etcd 的實例被稱為一個節點。一個或多個節點可以組成一個集群。 集群&#xff08;Cluster&…

360 集團20周年會:戰略升級ALL IN Agent,搶占智能體時代先機

發布 | 大力財經8月15日&#xff0c;360集團迎來二十周年&#xff0c;在北京奧林匹克體育中心舉辦的“360集團20周年榮耀慶典”上&#xff0c;創始人周鴻祎向現場數千名員工發表演講&#xff0c;回顧360集團二十年的發展歷程&#xff0c;并明確360集團下一階段的公司戰略&#…

命令模式C++

命令模式&#xff08;Command Pattern&#xff09;是一種行為型設計模式&#xff0c;它將請求封裝為一個對象&#xff0c;使你可以用不同的請求對客戶進行參數化&#xff0c;還能支持請求的排隊、記錄日志及撤銷操作。這種模式將發送者和接收者解耦&#xff0c;發送者無需知道接…

Web攻防-大模型應用LLM搭建接入第三方內容喂養AI插件安全WiKI庫技術賦能

知識點&#xff1a; 1、WEB攻防-LLM搭建-AI喂養&安全知識WIKI庫 演示案例&#xff1a;WEB攻防-LLM搭建-AI喂養&安全知識WIKI庫 使用參考 https://docs.web2gpt.ai/ https://mp.weixin.qq.com/s/qqTOW5Kg1v0uxdSpbfriaA 0、服務器環境&#xff1a;阿里云 Ubuntu22.04 …

圖片拼接-動手學計算機視覺8

前言圖片拼接&#xff08;image stitching&#xff09;就是將統一場景的不同拍攝出的圖片拼接到一起&#xff0c;如圖所示就是拼接全景圖&#xff0c;是圖片拼接的應用之一&#xff0c;手機拍照都有全景拍攝功能仔細觀察全景圖&#xff0c;尋找它們相似性&#xff0c;圖8-2的全…

Web第二次作業

作業一&#xff1a;學校官網1.1學校官網代碼如下&#xff1a;?<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">&l…

【CV 目標檢測】②R-CNN模型

二、R-CNN網絡基礎 2.R-CNN模型 2014年提出R-CNN&#xff01;網絡&#xff0c;該網絡不再使用暴力窮舉的方法&#xff0c;而是使用候選區域方法&#xff08;region proposal method&#xff09;創建目標檢測的區域來完成目標檢測的任務&#xff0c;R-CNN是以深度神經網絡為基礎…