Assim:
$ output="$(ps -ef |grep pmon)"
A saída de ps -ef |grep pmon será armazenada em uma variável chamada $output .
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?
Assim:
$ output="$(ps -ef |grep pmon)"
A saída de ps -ef |grep pmon será armazenada em uma variável chamada $output .
Tags scripting