Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-33431

Single variable that includes multiple arguments does not work on Linux.

      This cmd works using shell command on Linux and XShell on Windows, but not XShell on Linux.
      $JYTHON/xyz.py --showConfig

      This is the value of JYTHON:
      JYTHON=$JAVA -jar $JYTHON_JAR -Dpython.path=$PYTHON_LOC $PYTHON_LOC

      Using the individual variables works using XShell on Linux:
      $JAVA -jar $JYTHON_JAR -Dpython.path=$PYTHON_LOC $PYTHON_LOC/xyz.py --showConfig

      I think the reason for this is that linux treats each variable as a single argument. This is the reason Ant has <arg line> vs <arg value> support to distinguish handling of spaces within args on linux. (See: https://ant.apache.org/manual/using.html#arg)

          [JENKINS-33431] Single variable that includes multiple arguments does not work on Linux.

          Mike Murray added a comment -

          This might help explain the issue. The same test.sh is being invoked first by "execute shell", then by "XShell", with a single TEST parameter having value of: 1, 2 3 4,5\ 6

          [workspace] $ /bin/sh -xe /tmp/hudson5780634845144170328.sh
          + test.sh 1, 2 3 '4,5\' 6
          SHELL: /bin/bash
          Arg count: 5

          [workspace] $ test.sh $TEST
          SHELL: /bin/bash
          Arg count: 1

          test.sh:
          echo "SHELL: $SHELL"
          echo "Arg count: $#"

          Mike Murray added a comment - This might help explain the issue. The same test.sh is being invoked first by "execute shell", then by "XShell", with a single TEST parameter having value of: 1, 2 3 4,5\ 6 [workspace] $ /bin/sh -xe /tmp/hudson5780634845144170328.sh + test.sh 1, 2 3 '4,5\' 6 SHELL: /bin/bash Arg count: 5 [workspace] $ test.sh $TEST SHELL: /bin/bash Arg count: 1 test.sh: echo "SHELL: $SHELL" echo "Arg count: $#"

            Unassigned Unassigned
            windchiller Mike Murray
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: