I managed to figure this out with what I'm considering to be a terrible hack. When the arguments are passed from the service definition to the command, escaped characters are translated into their unescaped form. So when I try to pass the argument "this\ is\ a\ string" it becomes "this is a string" when it's passed to the command. And from there it gets passed to my script which fails to parse it as a single argument. To address this, I'm passing the string "this\\ is\\ a\\ string" so that the first time it gets passed the escaped backslashes are translated into regular backslashes and then it passes escapes spaces.<br>
<br>Hopefully this will be useful to someone else.<br><br><br><div class="gmail_quote">On Fri, Sep 11, 2009 at 10:26 AM, Noel Platzke <span dir="ltr"><<a href="mailto:neufpas@gmail.com">neufpas@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">It still doesn't work. I've tried single quotes, double quotes, escaping the quotes, escaping the spaces. Somewhere along the line nagios is stripping things out that need to be passed to the script.<div>
<div></div><div class="h5"><br><br><br><br>
<div class="gmail_quote">On Thu, Sep 10, 2009 at 5:29 PM, Marc Powell <span dir="ltr"><<a href="mailto:marc@ena.com" target="_blank">marc@ena.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div><br>
On Sep 10, 2009, at 3:14 PM, Noel Platzke wrote:<br>
<br>
> I've tried everything possible.<br>
> I am completely lost.<br>
> I want to throw my keyboard through a window.<br>
> How in god's name do I get nagios to accept an argument that<br>
> includes spaces?<br>
><br>
> I have a service that uses the check_by_ssh plugin to run a script<br>
> on a remote server. The script takes an argument that is wrapped in<br>
> quotes and can potentially contain spaces.<br>
<br>
</div><div>> So I defined a new command...<br>
><br>
> command_name        my_custom_script<br>
> command_line           /usr/lib/nagios/plugins/check_by_ssh -H<br>
> $HOSTADDRESS --command="/my/custom/script '$ARG1$'"<br>
><br>
> and set up a new service...<br>
><br>
> my_custom_script!"this is my argument"<br>
<br>
</div>Don't use quotes here. You're effectively canceling the quotes you<br>
have above, leaving the arguments with spaces bare. The command line<br>
that nagios is trying to run as a result is --<br>
<br>
/usr/lib/nagios/plugins/check_by_ssh -H <someaddress> --command="/my/<br>
custom/script '"this is my argument"'"<br>
<br>
--<br>
Marc<br>
<br>
<br>
------------------------------------------------------------------------------<br>
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day<br>
trial. Simplify your report design, integration and deployment - and focus on<br>
what you do best, core application coding. Discover what's new with<br>
Crystal Reports now.  <a href="http://p.sf.net/sfu/bobj-july" target="_blank">http://p.sf.net/sfu/bobj-july</a><br>
_______________________________________________<br>
Nagios-users mailing list<br>
<a href="mailto:Nagios-users@lists.sourceforge.net" target="_blank">Nagios-users@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/nagios-users" target="_blank">https://lists.sourceforge.net/lists/listinfo/nagios-users</a><br>
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue.<br>
::: Messages without supporting info will risk being sent to /dev/null<br>
</blockquote></div><br>
</div></div></blockquote></div><br>