in reply to back tick to do ssh
Did you actually try your second example in a shell script (or at the shell command-line prompt)? If so, were you aware that the part following the pipe symbol ("/bin/others") ends up being a process that executes on your local machine? The "echo something" part is being executed via ssh on host1, the output of that operation is then being fed through a pipe on your local machine, and your own local executable file "/bin/others" is being run to process the output.
If that is your intention, and if you are saying that the perl backtick expression is trying to execute the entire pipeline command on host1 (including the "/bin/others" part), I'd have to ask, how do you know it's happening that way? (A common refrain, seen all too often at PerlMonks: "it doesn't work" is not an adequate description of the problem.)
Try a real example whose results, if successful, would leave no doubt that the stuff between "ssh" and the pipe symbol is being run on the remote machine, and the stuff after the pipe is being run locally. Make sure the example works from the command line, then make sure the perl runtime environment matches your shell environment in the relevant respects (PATH, permissions, etc). E.g. for *n*x style machines:
If that doesn't work as expected, show us the actual results.# create a "special" symlink to your "cut" command: ln -s `which cut` ~/my_cut # now, assuming your home directory on host1 is different from your lo +cal one, # and you don't have a "my_cut" command in your home directory on host +1: o=`ssh host1 tail -1 /etc/passwd | ~/my_cut -d: -f3-5` echo $o # now with perl: perl -e '$_=`ssh host1 tail -1 /etc/passwd | $ENV{HOME}/my_cut -d: -f3 +-5`; print'
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: back tick to do ssh
by convenientstore (Pilgrim) on Dec 31, 2007 at 00:36 UTC | |
by kirillm (Friar) on Dec 31, 2007 at 00:47 UTC | |
by graff (Chancellor) on Dec 31, 2007 at 01:02 UTC | |
by kirillm (Friar) on Dec 31, 2007 at 01:07 UTC | |
by graff (Chancellor) on Dec 31, 2007 at 00:44 UTC | |
by convenientstore (Pilgrim) on Dec 31, 2007 at 03:56 UTC | |
by graff (Chancellor) on Dec 31, 2007 at 08:21 UTC |