como obter a saída padrão do comando na variável

como obter a saída padrão do comando na variável

quando queremos saber qual é a saída padrão do ssh então fazemos

ssh  $linux_server "cat /proc/uptime"

[[ $? -eq 0 ]] && ssh is ok

mas como saber a saída padrão do ssh no caso do seguinte?

 UPTIME=`    ssh $linux_server "cat /proc/uptime"  `

Responder1

A maneira padrão de fazer isso com a maioria dos shells (e, portanto, mais portáteis) é com crases (`) e como o argumento que você precisa para ssh não precisa de aspas, mas o resultado provavelmente você escreveria:

UPTIME="`ssh $linux_server cat /proc/uptime`"

ou você pode ser específico para o bash (e alguns outros shells, mas não tão universal quanto aspas) usando $() como:

UPTIME="$(ssh $linux_server cat /proc/uptime$)"

Observe que, como as crases usam a mesma coisa para delimitar o comando, elas não podem ser aninhadas. Essa é uma das vantagens da construção bash. Também não requer bifurcação de um subshell para uma execução um pouco mais eficiente.

Leia a página de manual do bash para obter mais detalhes.

informação relacionada