Why are the arguments supplied for the command run through ssh interpreted by shell before they are passed to the command on the server side?

Gert Doering gert at greenie.muc.de
Sun Jan 12 00:52:13 AEDT 2020


On Sat, Jan 11, 2020 at 01:38:53PM +0000, Colin Watson wrote:
>   ssh host cat 'path with spaces'
>   ssh host "cat 'path with spaces'"

Too many shells involved...

This is really not a "SSH problem" but a "unix command line *left and right*
which both have ideas about interpretation of specific characters".

And yes, it can get highly annoying and frustrating.  Sometimes it can
be solved by passing the special-character-data through stdin...

"If was one thing all people took for granted, was conviction that if you 
 feed honest figures into a computer, honest figures come out. Never doubted 
 it myself till I met a computer with a sense of humor."
                             Robert A. Heinlein, The Moon is a Harsh Mistress

Gert Doering - Munich, Germany                             gert at greenie.muc.de

More information about the openssh-unix-dev mailing list