Skip to content

Instantly share code, notes, and snippets.

@bmatusiak
Created November 27, 2025 10:42
Show Gist options
  • Select an option

  • Save bmatusiak/f59dee2e2f74289b38aa500357cb778b to your computer and use it in GitHub Desktop.

Select an option

Save bmatusiak/f59dee2e2f74289b38aa500357cb778b to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
set -euo pipefail
SESSION="${EXPO_TMUX_SESSION:-expo-dev}"
CMD="${EXPO_CMD:-npx expo start --dev-client}"
usage() {
cat <<EOF
Usage: $(basename "$0") [--bg|-d] [--help|-h]
Env:
EXPO_TMUX_SESSION tmux session name (default: $SESSION)
EXPO_CMD command to run (default: $CMD)
EOF
}
if ! command -v tmux >/dev/null 2>&1; then
echo "tmux not found. Please install tmux to use this script." >&2
exit 1
fi
case "${1-}" in
-h|--help)
usage
exit 0
;;
-d|--detached|--bg|--background)
if tmux has-session -t "$SESSION" 2>/dev/null; then
exit 0
else
tmux new-session -d -s "$SESSION" "$CMD"
exit 0
fi
;;
esac
if tmux has-session -t "$SESSION" 2>/dev/null; then
exec tmux attach -t "$SESSION"
else
exec tmux new-session -s "$SESSION" "$CMD"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment