RHEL 8.10
OpenSSH_8.0p1, OpenSSL 1.1.1k FIPS 25 de março de 2021
Como esperado, esta linha (com dois comandos incorporados) retorna duas linhas:
$ ssh -q remoteserver "ls -1 /proc/${p}/fd | wc -l ; ps -Ostate -p${p} | tail -n1"
969
1353432 S S ? 00:00:12 pgpool: wait for accept lock
Como faço para armazenar cada linha em uma variável separada no servidor local? (Como preciso executar ssh
centenas de vezes, e cada uma leva mais de 0,25 segundos, estou tentando minimizar o número de vezes que chamo o ssh.)
O objetivo é que, por exemplo, a variável FDcnt
tenha o valor 969 e PidState
seja 1353432 S S ? 00:00:12 pgpool: wait for accept lock
.
Isso funciona, mas parece um pouco complicado:
blarge=()
while read -r
do
blarge+=("$REPLY")
done <<<$(ssh -q FISPCDSPGS202c "ls -1 /proc/${p}/fd | wc -l ; ps -Ostate -p${p} | tail -n1")
echo ${blarge[0]}
970
$ echo ${blarge[1]}
1353432 S S ? 00:00:12 pgpool: fis_cds cdsbmop 10.55.96.151(33710) idle