bash error handling and reporting is atrocious. Without -e it will just ignore errors. With -e it will stop on errors, but not report where the error happened (apart from exiting itself with an error code). Improve that with the `trap ERR` command. Note that this won't be invoked on intentional error exit with `exit 1`. We apply this on every bash script that contains -e or that it appears trivial to set it in. Non-trivial scripts without -e are left unmodified, since they might intentionally invoke failing scripts. Closes scylladb/scylladb#22747
17 lines
365 B
Bash
Executable File
17 lines
365 B
Bash
Executable File
#!/bin/bash -e
|
|
#
|
|
# Copyright (C) 2024-present ScyllaDB
|
|
#
|
|
#
|
|
# SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.0
|
|
#
|
|
|
|
trap 'echo "error $? in $0 line $LINENO"' ERR
|
|
|
|
SCRIPT_PATH=$(dirname $(realpath "$0"))
|
|
|
|
INSTALLED_SCYLLA_PATH="${SCRIPT_PATH}/scylla"
|
|
|
|
# Allow plugging scylla path for local testing
|
|
exec ${SCYLLA:-${INSTALLED_SCYLLA_PATH}} nodetool $@
|