incapaz de consultar remotamente o rpm [duplicado]

0

Estou consultando o banco de dados rpm usando --qf flag

rpm -q --qf '<prm><N>%{N}</N></rpm>' --all

este trabalho funciona bem localmente, agora quando tento ssh it

 ssh -l root ${host} rpm -q --qf '<prm><N>%{N}</N></rpm>' --all

Eu obtenho

bash: -c: line 0: syntax error near unexpected token '<' 
bash: -c: line 0: 'rpm -q --qf <prm><N>%{N}</N></rpm> --all'

Note que

  • a segunda linha tem um backquote e uma cotação de avanço,
  • usando aspas duplas dão o mesmo erro,
  • uso real use %{N} , %{V} , %{INSTALLTIME:date} ...

Estou sentindo falta de algo óbvio, mas o quê?

    
por Archemar 02.08.2017 / 11:41

1 resposta

1

Você precisa adicionar um nível extra de citações:

ssh -l root ${host} "rpm -q --qf '<prm><N>%{N}</N></rpm>' --all"

Sem as aspas duplas extras, o comando dado ao shell remoto é

rpm -q --qf <prm><N>%{N}</N></rpm> --all

e o shell interpreta < etc.

Na mensagem de erro, o backtick e as aspas simples são aspas reais, usadas para citar o comando. Eles não fazem parte do comando dado ao shell.

    
por 02.08.2017 / 11:44

Tags