4

Is it possible to execute (from windows) a local script with arguments on a remote linux system?

Here's what I got:

plink 1.2.3.4 -l root -pw mypassword -m hello.sh

Is there a way to do this same thing, but able to give input parameters to hello.sh?

I've tried many things, including:

plink 1.2.3.4 -l root -pw mypassword -m hello.sh input1 input2

In this case it seems that plink thinks that input1 and input2 are its arguments.. which makes sense.

What are my options?

c_maker
  • 141
  • 1
  • 4

3 Answers3

1

I had the same issue.

You can simply write this line

plink 1.2.3.4 -l root -pw pass " myscript.sh arg1 arg2"

For example, I had to run a script and give two files as parameters.

plink 1.2.3.4 -l root -pw pass " myscript.sh path/to/file1 path/to/file2"

Hari
  • 11
  • 1
  • 1
    I don't think is is the same issue OP described, in this case the executed script resides on the remote machine, doesn't it? – martonbognar Jul 27 '18 at 12:14
0

For a more detailed description (for ssh) see this answer.

C:>type script.sh
#!/bin/bash
cd /home/user
echo "hello ${1:-}" > hello.txt

C:>plink user@host -pw password "bash -s" < script.sh "world"

C:>plink user@host -pw password "cat /home/user/hello.txt"
hello world
martonbognar
  • 171
  • 6
0

plink does not run the script as a sh script; it just sends its contents as separate commands, so there is nothing you could pass arguments to.

You could get around this by telling the shell to interpret its stdin as if it was a file:

plink -T ... $SHELL /dev/stdin arg1 arg2 arg3 < hello.sh
u1686_grawity
  • 426,297
  • 64
  • 894
  • 966
  • Does not work for me. Am I supposed to replace '$SHELL' with something? is arg1 supposed to be the name of the file? I've tried all kinds of combinations, nothing seems to work. My hello.sh looks like this: '#!/bin/bash echo "Your argument is "$1'. – c_maker Nov 17 '11 at 00:01
  • @c_maker: Try the updated version; and no, $SHELL will be automatically expanded on the server, and arg1 is the first argument you want to give. – u1686_grawity Nov 17 '11 at 00:58