From 62d58cae7ce152b4bb9771d307a4185af25ae10d Mon Sep 17 00:00:00 2001 From: Gobbo Date: Mon, 1 Sep 2025 16:42:37 +0200 Subject: [PATCH] Fix arguments removal (PShell 2.x compatibility) --- pshell | 118 ++++++++++++++++++++------------------------------------- 1 file changed, 42 insertions(+), 76 deletions(-) diff --git a/pshell b/pshell index 87f85ab..9776aea 100755 --- a/pshell +++ b/pshell @@ -49,92 +49,59 @@ case $i in esac done - - #Parse JVM arguments, Pshell version and JEP option export PSHELL_VER=default export VER_SUFFIX= export JVM_ARGS= -export JVM_UCP= -#export JAVA_VER=/opt/gfa/java/openjdk-1.8.0_40 -#export JAVA_VER=/opt/gfa/java/jdk1.8.0_72 +export UCP= export JAVA_VER=/opt/gfa/java/openjdk-12_32 -#export JEP= -for i in "$@" -do -case $i in + +# Collect remaining args safely +REMAINING_ARGS="" + +while [ $# -gt 0 ]; do + case $1 in -jvmarg=*) - JVM_ARGS="${i#*=}" - #echo 'JVM args:' ${JVM_ARGS} - #shift - ;; - + JVM_ARGS="${1#*=}" + #echo "JVM args: $JVM_ARGS" + ;; -ucp=*) - UCP="${i#*=}" - #echo 'UCP:' ${UCP} - #shift - ;; - - -version=*|--version=*) - export PSHELL_VER="${i#*=}" - #echo "Using version " ${PSHELL_VER} - #shift - ;; - - -test) - export PSHELL_VER=testing - #echo "Using testing version" - #shift - ;; - + UCP="${1#*=}" + #echo "UCP: $UCP" + ;; + -version=*) + export PSHELL_VER="${1#*=}" + #echo "Using version $PSHELL_VER" + ;; + -test) + export PSHELL_VER="testing" + #echo "Using testing version" + ;; -last) - export PSHELL_VER=latest - #echo "Using latest version" - #shift - ;; - + export PSHELL_VER="latest" + #echo "Using latest version" + ;; -light) - export VER_SUFFIX=-light - #echo "Using build type " ${VER_SUFFIX} - #shift - ;; - - -javaver=*|--javaver=*) - export JAVA_VER="${i#*=}" - echo "Using Java version " ${JAVA_VER} - #shift - ;; - -# -py2) -# JEP=2 -# echo "Setting Python 2 for JEP" -# shift -# ;; - -# -py3) -# JEP=3 -# echo "Setting Python 3 for JEP" -# shift -# ;; - - *) # unknown option - ;; -esac + export VER_SUFFIX="-light" + #echo "Using build type $VER_SUFFIX" + ;; + -javaver=*) + export JAVA_VER="${1#*=}" + #echo "Using Java version $JAVA_VER" + ;; + *) + REMAINING_ARGS="$REMAINING_ARGS \"$1\"" + ;; + esac + shift done -#echo $@ +#echo "Remaining args: $REMAINING_ARGS" + +# Final exec (safe with spaces) +eval set -- $REMAINING_ARGS -#Parse Pshell version -#if [[ $@ == **-test** ]] ; then -# echo "Using testing version" -# export PSHELL_VER=testing -#else -# if [[ $@ == **-last** ]] ; then -# echo "Using latest version" -# export PSHELL_VER=latest -# fi -#fi if [[ $VER_SUFFIX != "" ]] ; then PSHELL_VER=${PSHELL_VER}${VER_SUFFIX} @@ -154,9 +121,8 @@ fi #Standard startup if [[ $@ != **-py** || $VER_SUFFIX == "-light" ]] ; then -#if [[ $JEP == "" ]] ; then if [[ $UCP == "" ]] ; then - ${JAVA_VER}/bin/java ${JVM_EARGS} ${JVM_ARGS} -jar /opt/gfa/pshell/${PSHELL_VER} ${1+"$@"} + ${JAVA_VER}/bin/java ${JVM_EARGS} ${JVM_ARGS} -jar /opt/gfa/pshell/${PSHELL_VER} "$@" exit fi fi @@ -218,5 +184,5 @@ if [[ $UCP != "" ]] ; then fi export PATH=${PYTHONHOME}/bin:$CLEAN_PATH -${JAVA_VER}/bin/java ${JVM_EARGS} ${JVM_ARGS} -cp ${UCP}/opt/gfa/pshell/${PSHELL_VER}:${JEP_JAR} ch.psi.pshell.ui.App ${1+"$@"} +${JAVA_VER}/bin/java ${JVM_EARGS} ${JVM_ARGS} -cp ${UCP}/opt/gfa/pshell/${PSHELL_VER}:${JEP_JAR} ch.psi.pshell.ui.App "$@"