From 6a23baac1f805e5c8634609f23603d9ddb34b77c Mon Sep 17 00:00:00 2001
From: Julian Rother <julianr@fsmpi.rwth-aachen.de>
Date: Thu, 4 Oct 2018 22:50:31 +0200
Subject: [PATCH] Upload check_dd_total

---
 Check/check_dd_total | 61 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)
 create mode 100644 Check/check_dd_total

diff --git a/Check/check_dd_total b/Check/check_dd_total
new file mode 100644
index 0000000..569eca0
--- /dev/null
+++ b/Check/check_dd_total
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+usage="$(basename "$0") [-v] [-q] src des -- verifies per sha256sum, that src was correctly written to des
+$(basename "$0") -h
+
+where:
+    -v  verbose: prints the sha256sums
+    -q  quite: suppresses the output of the result,
+        the return-Code remains as reponse
+    -h  prints this help message"
+
+quite=false;
+verbose=false;
+printHelp=false;
+for opt in "$@"
+do
+	case $opt in
+		-v) verbose=true ; shift 1 ;;
+		-q) quite=true ; shift 1 ;;
+		-h) printHelp=true ; shift 1 ;;
+		-?) printHelp=true ; shift 1 ;;
+	esac
+done
+
+if [ "$printHelp" = true ] || [ $# -ne 2 ]
+then
+	echo "$usage";
+	exit -1;
+fi
+
+src=$1;
+des=$2;
+lengthSrc=$(($(stat -c '%s' $src) / 4096)); # length of the source (in 4096kB)
+if [ "$verbose" = true ]
+then
+	echo "length of the source (in 4096kB): $lengthSrc"
+fi
+sha256sumSrc=$(dd if=$src bs=4096 count=$lengthSrc status=none | sha256sum)
+if [ "$verbose" = true ]
+then
+	echo "sha256sum of the source:      $sha256sumSrc"
+fi
+sha256sumDes=$(dd if=$des bs=4096 count=$lengthSrc status=none | sha256sum)
+if [ "$verbose" = true ]
+then
+	echo "sha256sum of the destination: $sha256sumDes"
+fi
+if [ "$sha256sumSrc" == "$sha256sumDes" ]
+then
+	if [ "$quite" = false ]
+	then
+		echo "OK!";
+	fi
+	exit 0;
+else
+	if [ "$quite" = false ]
+	then
+		echo "FAILED!";
+	fi
+	exit 1;
+fi
-- 
GitLab