#!/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}"