I need to run a report, source file on system 1, on system 2. I'd like to do this in one script, not have a second script to run it.
Now cat script | ssh system2 works fine. But no matter what I've tried, it gags on ssh system2 <<EOF blah, blah EOF.
Mostly, I have a multiline awk script in the script, with \ at the end of each line... *but* I think it's seeing "\n" as an eol, and complaining, of course.
Suggestions?
mark
Try:
ssh system2 "`cat test.script`"
That works for me.
On 08/09/2016 01:35 PM, m.roth@5-cent.us wrote:
I need to run a report, source file on system 1, on system 2. I'd like to do this in one script, not have a second script to run it.
Now cat script | ssh system2 works fine. But no matter what I've tried, it gags on ssh system2 <<EOF blah, blah EOF.
Mostly, I have a multiline awk script in the script, with \ at the end of each line... *but* I think it's seeing "\n" as an eol, and complaining, of course.
Suggestions?
mark
CentOS mailing list CentOS@centos.org https://lists.centos.org/mailman/listinfo/centos
David Both wrote:
Try:
ssh system2 "`cat test.script`"
That works for me.
Thanks, but that's pretty much what I'm trying with the HERE document. Trouble is, I have a) an sqlquery, o/p piped into b) awk, which I do as one line, breaking it with terminating \ (to make it readable), followed by c) another sqlquery, and a couple of commands.
The issue is that by trying the HERE doc, or making the whole thing a function, and trying ssh server2 func(), or surrounding the whole thing with $(), none of it works, because it all gags on the "\n\n" in the awk script.
mark
On 08/09/2016 01:35 PM, m.roth@5-cent.us wrote:
I need to run a report, source file on system 1, on system 2. I'd like to do this in one script, not have a second script to run it.
Now cat script | ssh system2 works fine. But no matter what I've tried, it gags on ssh system2 <<EOF blah, blah EOF.
Mostly, I have a multiline awk script in the script, with \ at the end of each line... *but* I think it's seeing "\n" as an eol, and complaining, of course.
Suggestions?
mark
CentOS mailing list CentOS@centos.org https://lists.centos.org/mailman/listinfo/centos
--
David P. Both, RHCE Millennium Technology Consulting LLC Raleigh, NC, USA 919-389-8678
dboth@millennium-technology.com
www.millennium-technology.com www.databook.bz - Home of the DataBook for Linux DataBook is a Registered Trademark of David Both
This communication may be unlawfully collected and stored by the National Security Agency (NSA) in secret. The parties to this email do not consent to the retrieving or storing of this communication and any related metadata, as well as printing, copying, re-transmitting, disseminating, or otherwise using it. If you believe you have received this communication in error, please delete it immediately.
CentOS mailing list CentOS@centos.org https://lists.centos.org/mailman/listinfo/centos
On 08/09/2016 10:35 AM, m.roth@5-cent.us wrote:
it gags on ssh system2 <<EOF blah, blah EOF.
Mostly, I have a multiline awk script in the script, with \ at the end of each line
You are probably overlooking that in bash, "here documents" are subject to expansion according rules documented in the bash man page, unless you quote the word you use as the here document delimeter.
That is, try:
ssh system2 <<"EOF" blah, blah EOF
Gordon Messmer wrote:
On 08/09/2016 10:35 AM, m.roth@5-cent.us wrote:
it gags on ssh system2 <<EOF blah, blah EOF.
Mostly, I have a multiline awk script in the script, with \ at the end of each line
You are probably overlooking that in bash, "here documents" are subject to expansion according rules documented in the bash man page, unless you quote the word you use as the here document delimeter.
That is, try:
ssh system2 <<"EOF" blah, blah EOF
Actually, the script itself is ksh. However, finally getting to email with my manager, he just did it the simpler way, with a separate script to run it. And the reason I didn't realize that his script was working as designed is that unless I fed /dev/null into his script, rather than send a email, it printed the report to the screen....
mark