Better error handling

Better error handling
This commit is contained in:
Kroese 2023-05-03 20:20:55 +02:00 committed by GitHub
commit 5fa597094b
6 changed files with 10 additions and 11 deletions

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -eu set -Eeuo pipefail
# Docker environment variables # Docker environment variables

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -eu set -Eeuo pipefail
# Display wait message on port 5000 # Display wait message on port 5000
HTML="Please wait while Virtual DSM is installing...<script>\ HTML="Please wait while Virtual DSM is installing...<script>\
@ -47,7 +47,7 @@ if [ "$SUM" != "14fb88cb7cabddb5af1d0269bf032845" ]; then
fi fi
set +e set +e
xz -dc <"$RD" >"$TMP/rd" 2>/dev/null xz -dc <"$RD" >"$TMP/rd" 2>/dev/null || true
(cd "$TMP" && cpio -idm <"$TMP/rd" 2>/dev/null) (cd "$TMP" && cpio -idm <"$TMP/rd" 2>/dev/null)
set -e set -e

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -eu set -Eeuo pipefail
# Docker environment variables # Docker environment variables
@ -155,8 +155,8 @@ configureNAT () {
echo "/etc/resolv.conf:" && echo && cat /etc/resolv.conf && echo echo "/etc/resolv.conf:" && echo && cat /etc/resolv.conf && echo
fi fi
mapfile -t nameservers < <(grep '^nameserver' /etc/resolv.conf | sed 's/\t/ /g' | sed 's/nameserver //' | sed 's/ //g') mapfile -t nameservers < <( { grep '^nameserver' /etc/resolv.conf || true; } | sed 's/\t/ /g' | sed 's/nameserver //' | sed 's/ //g')
searchdomains=$(grep '^search' /etc/resolv.conf | sed 's/\t/ /g' | sed 's/search //' | sed 's/#.*//' | sed 's/\s*$//g' | sed 's/ /,/g') searchdomains=$( { grep '^search' /etc/resolv.conf || true; } | sed 's/\t/ /g' | sed 's/search //' | sed 's/#.*//' | sed 's/\s*$//g' | sed 's/ /,/g')
domainname=$(echo "$searchdomains" | awk -F"," '{print $1}') domainname=$(echo "$searchdomains" | awk -F"," '{print $1}')
for nameserver in "${nameservers[@]}"; do for nameserver in "${nameservers[@]}"; do

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -eu set -Eeuo pipefail
# Configure QEMU for graceful shutdown # Configure QEMU for graceful shutdown

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -eu set -Eeuo pipefail
# Docker environment variables # Docker environment variables
@ -15,8 +15,7 @@ echo "Starting Virtual DSM for Docker v${VERSION}..."
STORAGE="/storage" STORAGE="/storage"
KERNEL=$(uname -r | cut -b 1) KERNEL=$(uname -r | cut -b 1)
trap 'echo >&2 "Error - exited with status $? at line $LINENO:"; trap 'echo >&2 "Error status $? for: ${BASH_COMMAND} (line $LINENO/$BASH_LINENO)"' ERR
pr -tn $0 | tail -n+$((LINENO - 3)) | head -n7 >&2' ERR
[ ! -d "$STORAGE" ] && echo "Storage folder (${STORAGE}) not found!" && exit 69 [ ! -d "$STORAGE" ] && echo "Storage folder (${STORAGE}) not found!" && exit 69
[ ! -f "/run/run.sh" ] && echo "Script must run inside Docker container!" && exit 60 [ ! -f "/run/run.sh" ] && echo "Script must run inside Docker container!" && exit 60

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
set -eu set -Eeuo pipefail
# Docker environment variables # Docker environment variables