Subject: Re: [PATCH v2] Ensure that SSH runs in non-interactive mode

From: Jakub Narebski <[email-masked]>
Date: Mon, 21 Jul 2008 01:38:50 -0700 (PDT)

Fredrik Tolf <[email-masked]> writes:

> [...] Here's some makeshift documentation:
> 
> The string specified in core.sshcommand is first checked if it matches
> any of the built-in templates, in which case it is expanded (I've added
> the templates "openssh" and "plink" by default). When used, the string
> is split into words, each of which is processed as follows:
> 
> * If a word is %p, it is replaced by the port number, if specified.
>   If the port number is not specified, the word is deleted.
> * If a word is %h, it is replaced by the remote host name.
> * If a word begins with %P, it is deleted if no port number is
>   specified. This is to allow for specifying different port number
>   flags for different SSH implementations. The syntax is a bit ugly,
>   but I cannot really think of anything that would look better.
>   If a port number has been specified, the leading %P is simply deleted.

There is a syntax which would look better, but perhaps it is a bit
overkill in this situation.  Namely use either shell conditional
expansion:

  ${p:+-P $p}

or syntax used in RPM spec macros

  %{?p:-P %p}

(and there is complementing %{!?<var>:<expansion>} in RPM spec macro
language).
-- 
Jakub Narebski
Poland
ShadeHawk on #git