Commit 0c5b14e
Changed files (1)
static
static/get
@@ -26,27 +26,22 @@ VERSION_BINARY=$(echo "${VERSION}" | sed 's/^v//')
BINARY_NAME="swissknife"
FILE="${BINARY_NAME}_${VERSION_BINARY}_${OS}_${ARCH}.tar.gz"
-# get current path, will be used later
-CURRENT_PATH=$(pwd)
+# create an isolated extraction directory under /tmp
+TEMP_DIR=$(mktemp -d /tmp/swissknife.XXXXXX) || exit 1
+trap 'rm -rf "$TEMP_DIR"' EXIT
# download
-curl -L -s -o "/tmp/$FILE" "https://github.com/${REPO}/releases/download/${VERSION}/${FILE}"
+curl -L -s -o "${TEMP_DIR}/${FILE}" "https://github.com/${REPO}/releases/download/${VERSION}/${FILE}"
# extract
echo "Extracting ${FILE}..."
-cd "/tmp" || exit 1
-tar -xzvf "${FILE}"
-if [ $? -ne 0 ]; then
+if ! tar -xzvf "${TEMP_DIR}/${FILE}" -C "$TEMP_DIR"; then
echo "Error: Failed to extract ${FILE}."
exit 1
fi
-# cleanup
-rm -f "${FILE}"
-rm README.md
-
-# move binary to CURRENT_PATH
-mv "$BINARY_NAME" "${CURRENT_PATH}/"
+# move binary to the current directory
+mv "${TEMP_DIR}/${BINARY_NAME}" ./ || exit 1
# success message
echo "Successfully downloaded and extracted ${FILE}."