orauser
다음 하드코딩된 변수( 및 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
이를 수행하는 가장 좋은 방법은 무엇입니까?
다음을 실행하여 필요한 실제 출력을 얻을 수 있습니다.ps
시작 부분에는 ( )가 표시되고 orauser
끝 부분에는 ( )가 표시됩니다(마지막 밑줄 뒤).oradev
orasid
ERPDEV
예를 들어
:~$ps -ef |grep pmon
oradev 22733 1 0 03:36 ? 00:00:05 ora_pmon_ERPDEV
실패하면 스크립트가 실행되지 않습니다. 이는 해당 서버에 데이터베이스가 없을 수 있다는 의미이므로 좋습니다.
가장 깨끗하고 간단한 방법은 무엇입니까?
답변1
이와 같이:
$ output="$(ps -ef |grep pmon)"
의 출력은 ps -ef |grep pmon
이름이 지정된 변수에 저장됩니다 $output
.