Automating command/script execution using PuTTY
PuTTY has the -m
switch, that you can use to provide a path to a file with a list of commands to execute:
putty.exe [email protected] -m c:\local\path\commands.txt
Where the commands.txt
will, in your case, contain a path to your shell script, like:
/home/user/myscript.sh
Though for automation, your better use the Plink command-line connection tool, instead of the GUI PuTTY application, as you have already found out. The Plink is a part of PuTTY package, so everyone who has PuTTY should have Plink too.
The Plink (plink.exe
) has the same command-line arguments as PuTTY. And in addition to those, you can specify your command directly on its command like:
plink.exe [email protected] /home/user/myscript.sh
or using its standard input
plink.exe [email protected] < c:\local\path\command.txt
(of course, you will use redirection mechanism of your language, instead of the <
).
Note that providing a command using the -m
switch or directly on command-line implies a non-interactive mode, while using the standard input uses an interactive mode by default. So the results or behavior may differ. Use the -t
and -T
switches to force the interactive and the non-interactive mode, respectively.