Add -r option support for reattach only

This commit is contained in:
Roman Zhuravlev 2025-04-24 05:04:16 +05:00
parent 4ec46c7bc3
commit 45eb8e0b5f

10
mca.sh
View file

@ -4,15 +4,16 @@ set -e
EXEC_NAME="$(basename -- "$0")" EXEC_NAME="$(basename -- "$0")"
options="$(getopt -n "$EXEC_NAME" -s sh -o hvfdx -l help -l version -- "$@")" options="$(getopt -n "$EXEC_NAME" -s sh -o hvfdxr -l help -l version -- "$@")"
eval set -- "$options" eval set -- "$options"
SCREEN_OPTS= SCREEN_OPTS=
REATTACH_ONLY=0
while :; do while :; do
case "$1" in case "$1" in
-h|--help) -h|--help)
echo "Usage: $EXEC_NAME [-fdx] [MCA_NAME|MCA_JAR|MCA_DIR] [--] [INPUT]…" echo "Usage: $EXEC_NAME [-fdxr] [MCA_NAME|MCA_JAR|MCA_DIR] [--] [INPUT]…"
exit exit
;; ;;
-v|--version) -v|--version)
@ -28,6 +29,9 @@ while :; do
-x) -x)
SCREEN_OPTS=x SCREEN_OPTS=x
;; ;;
-r)
REATTACH_ONLY=1
;;
--) --)
shift shift
break break
@ -74,6 +78,8 @@ elif screen -S "$MCA_NAME" -X select . > /dev/null 2>&1; then
exit 2 exit 2
fi fi
[ "$REATTACH_ONLY" -eq 1 ] && { echo "$EXEC_NAME: $MCA_NAME: no such a screen was found" >&2; exit 2; }
[ -d "$MCA_DIR" ] || { echo "$EXEC_NAME: $MCA_DIR: not found" >&2; exit 2; } [ -d "$MCA_DIR" ] || { echo "$EXEC_NAME: $MCA_DIR: not found" >&2; exit 2; }
cd "$MCA_DIR" cd "$MCA_DIR"