O erro
comando lsv não encontrado
é enviado para stderror
, enquanto a saída normal é enviada para stdout
. Você terá que redirecionar stderror
para stdout
:
$ fooVar=$(lsv 2>&1)
$ echo "Response: $fooVar"
Response: -bash: lsv: command not found
Isso é quase o que você deseja, execute para o -bash:
Stdout tem o filedescriptor 1 e stderr tem o descritor 2. Então, o que eu digo é 'enviar stderr para o mesmo lugar que stdout'. Você poderia usar algo semelhante para colocar saída ou erros em arquivos:
ls > outfile 2> errorfile
Colocará a saída normal em um arquivo chamado 'outfile' e eventuais erros no 'errfile'.
ls >> outfile 2>> errorfile
Será anexado aos arquivos em vez de redefini-los. E você pode usar apenas um ou outro redirecionamento.