26 lines
693 B
Bash
Executable File
26 lines
693 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
REPO_ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
|
LINUXCNC_ROOT="${REPO_ROOT}/linuxcnc"
|
|
CASE_DIR="${LINUXCNC_ROOT}/configs/sim/gmoccapy"
|
|
CASE_NAME="${1:-gmoccapy.ini}"
|
|
|
|
if [[ "${CASE_NAME}" == */* || "${CASE_NAME}" != *.ini ]]; then
|
|
printf 'case must be an .ini filename in %s\n' "${CASE_DIR}" >&2
|
|
exit 2
|
|
fi
|
|
|
|
CASE_INI="${CASE_DIR}/${CASE_NAME}"
|
|
if [[ ! -f "${CASE_INI}" ]]; then
|
|
printf 'gmoccapy configuration not found: %s\n' "${CASE_INI}" >&2
|
|
exit 1
|
|
fi
|
|
if [[ ! -x /usr/bin/linuxcnc ]]; then
|
|
printf 'LinuxCNC launcher not found: /usr/bin/linuxcnc\n' >&2
|
|
exit 1
|
|
fi
|
|
|
|
cd "${LINUXCNC_ROOT}"
|
|
exec /usr/bin/linuxcnc -r "${CASE_INI}"
|