Como posso armazenar a saída na variável bash e suprimir a saída para stderr e stdout? [duplicar]

Esta pergunta já tem respostas aqui :

Comentários

  • Sua edição mostra uma substituição de comando que captura apenas o fluxo de erro padrão do comando e descarta o fluxo de saída padrão completamente.
  • Para referência futura, " irá imprimir algum erro " não é tão útil quanto algo como " ele irá imprimir o erro Error: you didn't specify -f so I can't furble. " Lembre-se de que não podemos ' ver o que você pode ver, portanto, é importante nos contar tudo. No seu caso específico, se você nos informou a mensagem de erro, podemos aconselhá-lo sobre como evitar acioná-la em primeiro lugar, em vez de descartá-la.

Resposta

Se esse comando não tiver opção silenciosa, redirecione o erro para / dev / null.

oidvalue=$(snmpget -v 2c -c public localhost 1234 2>/dev/null) 

Comentários

  • Obrigado, mas descobri que o que eu precisava era algo assim, $ (snmpget -v 2c -c public localhost 1234 2 > & 1 > / dev / null)
  • tem certeza? isso definirá oidvalue para a mensagem de erro, o stdout será sugado por / dev / null. 2 > & 1 não tem efeito.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *