Como usar a saída de um comando como uma variável em um script?

0

Eu preciso do script a seguir para examinar os processos em execução no servidor a serem usados como as variáveis codificadas abaixo ( orauser e orasid )

#!/bin/bash
orauser="oraqa1"
orasid="ERPQA1"
source /home/$orauser/$orasid.env
su - ${orauser}   << BOF 2>&1
export ORACLE_SID=$orasid
sqlplus /nolog << EOF 2>&1
connect / as sysdba
alter database begin backup;
exit;
EOF
BOF

Qual é a melhor maneira de fazer isso?

Eu posso obter a saída real de que preciso executando ps

que mostrará o orauser ( oradev ) no início e o orasid ( ERPDEV ) no END (após o último sublinhado).

por exemplo

:~$ps -ef |grep pmon
oradev   22733     1  0 03:36 ?        00:00:05 ora_pmon_ERPDEV

Se falhar, o script não será executado - o que é bom porque isso significa que provavelmente não há banco de dados nesse servidor ...

qual é a maneira mais limpa / clara de fazer isso?

    
por Dan Stanna 14.05.2018 / 20:16

1 resposta

0

Assim:

$ output="$(ps -ef |grep pmon)"

A saída de ps -ef |grep pmon será armazenada em uma variável chamada $output .

    
por 14.05.2018 / 20:26

Tags