From e775a72218034cf3ff7346516e60f81defb11da4 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 18:28:13 +0200 Subject: [PATCH] Implement error handling --- run/run.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/run/run.sh b/run/run.sh index 0328919..8f1b39a 100755 --- a/run/run.sh +++ b/run/run.sh @@ -15,6 +15,9 @@ echo "Starting QEMU for Docker v${VERSION}..." STORAGE="/storage" KERNEL=$(uname -r | cut -b 1) +trap 'echo >&2 "Error - exited with status $? at line $LINENO:"; + pr -tn $0 | tail -n+$((LINENO - 3)) | head -n7 >&2' ERR + [ ! -d "$STORAGE" ] && echo "Storage folder (${STORAGE}) not found!" && exit 69 [ ! -f "/run/run.sh" ] && echo "Script must run inside Docker container!" && exit 60 @@ -59,6 +62,8 @@ EXTRA_OPTS="-device virtio-balloon-pci,id=balloon0 -object rng-random,id=rng0,fi ARGS="${DEF_OPTS} ${CPU_OPTS} ${RAM_OPTS} ${MAC_OPTS} ${MON_OPTS} ${SERIAL_OPTS} ${NET_OPTS} ${DISK_OPTS} ${EXTRA_OPTS}" ARGS=$(echo "$ARGS" | sed 's/\t/ /g' | tr -s ' ') +trap - ERR + set -m ( [ "$DEBUG" = "Y" ] && set -x