ghidra/Ghidra/RuntimeScripts/Linux/support/pyghidraRun
2024-09-09 10:50:12 -04:00

33 lines
1.1 KiB
Bash

#!/usr/bin/env bash
#----------------------------------------
# PyGhidra launch
#----------------------------------------
# Resolve symbolic link if present and get the directory this script lives in.
# NOTE: "readlink -f" is best but works on Linux only, "readlink" will only work if your PWD
# contains the link you are calling (which is the best we can do on macOS), and the "echo" is the
# fallback, which doesn't attempt to do anything with links.
SCRIPT_FILE="$(readlink -f "$0" 2>/dev/null || readlink "$0" 2>/dev/null || echo "$0")"
SCRIPT_DIR="${SCRIPT_FILE%/*}"
# Add optional JVM args inside the quotes
VMARG_LIST=""
# Make sure Python3 is installed
if ! [ -x "$(command -v python3)" ] ; then
echo "Python 3 is not installed."
exit 1
fi
# Dev mode or production mode?
DEV_ARG=
INSTALL_DIR="${SCRIPT_DIR}/.."
if [ ! -d "${INSTALL_DIR}/Ghidra" ]; then
DEV_ARG="--dev"
INSTALL_DIR="${SCRIPT_DIR}/../../../.."
fi
PYGHIDRA_LAUNCHER="${INSTALL_DIR}/Ghidra/Features/PyGhidra/pyghidra_launcher.py"
python3 "${PYGHIDRA_LAUNCHER}" "${INSTALL_DIR}" ${DEV_ARG} ${VMARG_LIST} "$@"