#!/bin/bash # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 source "$(dirname -- "$0")/lib/ulib/auto" || exit 1 urequire java function display_help() { uecho "$scriptname: Lancer un script après avoir sélectionné une version de java USAGE $scriptname [options] version [args...] OPTIONS -b, --bits 32|64|auto --32 --64 Sélectionner une version 32 ou 64 bits de java -e, --exact Sélectionner la version *exacte* de java demandée, au lieu de la version minimum correspondant à la version demandée. Si la version requise de java n'est pas trouvée, retourner avec le code d'erreur 254. La version de java attendue peut-être exprimée de l'une des façons suivantes: 1.4 1.4+ 1.5 1.5+ 1.6 1.6+ 1.7 1.7+ Si args n'est pas spécifié, un shell est lancé dans lequel les variables JAVA_HOME, JAVA, JAVAC et PATH sont mis à jour." } bits= exact= parse_opts + "${PRETTYOPTS[@]}" \ --help '$exit_with display_help' \ -b:,--bits: bits= \ -2,--32 bits=32 \ -4,--64 bits=64 \ -e,--exact exact=1 \ @ args -- "$@" && set -- "${args[@]}" || die "$args" [ "$bits" == "auto" ] && bits= javavers="${1:-1.5+}"; shift javadesc="Java $javavers${bits:+ / $bits bits}" estep "Sélection de $javadesc" found= if [ -n "$exact" ]; then select_java_exact "$javavers" "$bits" && found=1 else select_java "$javavers" "$bits" && found=1 fi if [ -z "$found" ]; then eerror "Impossible de trouver $javadesc" exit 254 fi eecho "JAVA_HOME=$JAVA_HOME" if [ -n "$*" ]; then estep "Lancement de $*" if [ "${1%.jar}" != "$1" ]; then exec java -jar "$@" else exec "$@" fi else estep "Lancement d'un sous-shell" exec "${SHELL:-bash}" fi