Eseguire script / command locale sul server remoto

Ho un command che voglio eseguire sulla macchina B dalla macchina A. Se eseguo il command sulla macchina B localmente, funziona bene.

Ecco il command:

for n in `find /data1/ -name 'ini*.ext'` ; do echo cp $n "`dirname $n `/` basename $n .ext`"; done 

Dalla macchina A, rilascio questo command

 ssh [email protected] for n in `find /data1/ -name 'ini*jsem'` ; do echo cp $n "`dirname $n `/` basename $n .jsem`"; done 

Ma ottengo l'errore di syntax error near unexpected token do

Che c'è? Penso che abbia a che fare con doppie virgolette, virgolette singole, semi coloni perché eseguendo il command ssh [email protected] ls funziona bene. Quindi non emettere l'authentication o qualcos'altro.

Grazie

Il problema è che la shell locale interpreta una parte del command. Devi citare l'integer command in modo che la shell remota lo esegua.

 ssh [email protected] 'for n in `find /data1/ -name "ini*jsem"` ; do echo cp $n "`dirname $n `/` basename $n .jsem`"; done'