yell() { echo "$0: $*" >&2; } # print script path and all args to stderr
die() { yell "$*"; exit 111; } # same as yell() but non-zero exit status
try() { "$@" || die "cannot $*"; } # runs args as command, reports args if command fails
-check_gpg_fingerprint() {
+check_resembles_gpg_fingerprint() {
# Desc: Checks if input string looks like gpg fingerprint
- # Usage: check_gpg_fingerprint arg1
+ # Usage: check_resembles_gpg_fingerprint arg1
# Input: arg1: string
# Output: exit code: 0 if arg1 is fingerprint, 1 otherwise
# Depends: yell(), die(), try()
## Trim leading `0x`
pattern1="(0x)(.*)";
if [[ $input =~ $pattern1 ]]; then
- input="$(echo "$input" | sed 's/^..//')";
+ input="${input:2}";
#yell "DEBUG:input:$input";
fi;
# test code
myVar="0xdc3469c9";
-if check_gpg_fingerprint "$myVar"; then
+if check_resembles_gpg_fingerprint "$myVar"; then
+ yell "Looks like a gpg fingerprint:$myVar";
+else
+ yell "Doesn't look like a gpg fingerprint:$myVar";
+fi;
+
+myVar="69B4C4CDC628F8F9";
+if check_resembles_gpg_fingerprint "$myVar"; then
+ yell "Looks like a gpg fingerprint:$myVar";
+else
+ yell "Doesn't look like a gpg fingerprint:$myVar";
+fi;
+
+myVar="26646D99CBAEC9B81982EF6029D9EE6B1FC730C1";
+if check_resembles_gpg_fingerprint "$myVar"; then
+ yell "Looks like a gpg fingerprint:$myVar";
+else
+ yell "Doesn't look like a gpg fingerprint:$myVar";
+fi;
+
+myVar="deadbeef";
+if check_resembles_gpg_fingerprint "$myVar"; then
+ yell "Looks like a gpg fingerprint:$myVar";
+else
+ yell "Doesn't look like a gpg fingerprint:$myVar";
+fi;
+
+myVar="foobar";
+if check_resembles_gpg_fingerprint "$myVar"; then
+ yell "Looks like a gpg fingerprint:$myVar";
+else
+ yell "Doesn't look like a gpg fingerprint:$myVar";
+fi;
+
+myVar="zzzzzzzz";
+if check_resembles_gpg_fingerprint "$myVar"; then
yell "Looks like a gpg fingerprint:$myVar";
else
yell "Doesn't look like a gpg fingerprint:$myVar";