AIX SSH com operação de tubulação, um dos revestimentos falha

1

Eu tenho um forro para coletar as informações errpt em cada servidor AIX VIO usando ssh . Mas o comando abaixo não está funcionando. Estou canalizando o comando para executar no shell de root no servidor VIO (oem_setup_env)

ssh -padmin@VIOS1 "print \"errpt -T PERM,TEMP  -s 0610141418 -e 0701000018 \| awk -F " " '{print \,\,\,\,\}'\ | sort -u | sed -e "s/^/$(uname -n): /"\" | oem_setup_env"

Abaixo do erro.

sed: 0602-404 Function s/^/VIOS1: cannot be parsed.
    
por satsensort 02.07.2018 / 16:05

1 resposta

1

Você tem sua citação toda confusa. É mais fácil fazer o texto alimentar oem_setup_env localmente e transferi-lo por ssh :

ssh admin@VIOS1 oem_setup_env << 'EOF'
errpt -T PERM,TEMP  -s 0610141418 -e 0701000018 |
    awk '{print $5,$6,$7,$8,$9}' | sort -u | sed "s/^/$(uname -n): /"
EOF

Para fazer isso remotamente, ainda é mais fácil usar um documento aqui (do que usar print , que é ksh / zsh específico e precisa de -r para evitar a interpretação de barras invertidas) para evitar dois níveis de escape de cotação. :

ssh admin@VIOS1 'oem_setup_env << "EOF"
errpt -T PERM,TEMP  -s 0610141418 -e 0701000018 |
    awk '\''{print $5,$6,$7,$8,$9}'\'' | sort -u | sed "s/^/$(uname -n): /"
EOF'
    
por 02.07.2018 / 16:59

Tags