int128 / gradle-ssh-plugin

Gradle SSH Plugin
https://gradle-ssh-plugin.github.io
Apache License 2.0
318 stars 60 forks source link

[bug] execute failed when command contains = character #269

Open foxundermoon opened 7 years ago

foxundermoon commented 7 years ago

Environment info

os : Darwin foxMac.local 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64 target os: Linux CM1.MDP 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux gradle-ssh-plugin version :2.5.0 java : java version "1.8.0_77" Java(TM) SE Runtime Environment (build 1.8.0_77-b03) Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

  1. execute failed when the command contains '='

eg: -XX:PermSize=256m

ss.run {
    session(...){
        execute ('java -XX:PermSize=256m -jar xxxx.jar')
}
int128 commented 7 years ago

Quote the argument as follows

execute ('java "-XX:PermSize=256m" -jar xxxx.jar')

or give the command as a array like

execute (['java', '-XX:PermSize=256m', '-jar', 'xxxx.jar'])
foxundermoon commented 7 years ago

@int128 thanks very much!

foxundermoon commented 7 years ago

@int128
my real command is

cd  /foo/bar && /bar/foo/java --Xmx4g -XX:PermSize=256m  -XX:MaxPermSize=256m .... -jar foo-bar.jar &

i am change to

cd  /foo/bar && /bar/foo/java "--Xmx4g -XX:PermSize=256m  -XX:MaxPermSize=256m ...." -jar foo-bar.jar &

it failed.

cd  /foo/bar && /bar/foo/java --Xmx4g "-XX:PermSize=256m" "-XX:MaxPermSize=256m" .... -jar foo-bar.jar &

and

cd  /foo/bar && /bar/foo/java "--Xmx4g -XX:PermSize=256m  -XX:MaxPermSize=256m .... -jar foo-bar.jar" &

also failed then i'm change to list

['cd', 'foo/bar', '&&', 'bar/foo/java'
                        , '-XX:PermSize=256m', '-jar', 'foo-bar.jar', '-Duser.timezone=Asia/Shanghai', '&']

it failed still.. help me!

int128 commented 7 years ago

Do you want to execute the command as background daemon? See #231.