ssh
Unix 터미널에 연결된 명령을 사용하여 Windows 명령 프롬프트에서 Oracle 버전을 가져오기 위해 다음 Unix 스크립트를 실행하려고 합니다.
#!/use/bin/ksh
Freport=/tmp/test.txt
cd /usr/oracle2/product/11.2.0/bin
echo "Begin" > $Freport
set +x
/usr/oracle2/product/11.2.0/bin/sqlplus -V >> $Freport
set -x
pwd >> $Freport
echo "Completed" >> $Freport
Windows 명령 프롬프트 출력:
Begin
/usr/oracle2/product/11.2.0/bin
Completed
동일한 스크립트가 Unix 서버에서 실행되고 다음 출력을 제공합니다.
퍼티 출력:
Begin
SQL*Plus: Release 11.2.0.1.0
/usr/oracle2/product/11.2.0/bin
Completed
Windows 명령 프롬프트 출력에서 Oracle 버전을 인쇄하고 싶습니다.
Windows 명령 프롬프트 실행:
C:\programfiles\PUTTY>putty.exe -ssh uname@ip -pw pwd -m windowsscriptpath/test.sh
이 문제를 어떻게 해결할 수 있는지 아시나요?
답변1
sqlplus -V
stdout(파일 설명자 1) 대신 stderr(파일 설명자 2)로 출력을 보내는 것 같습니다 . stderr를 리디렉션하려면 다음을 사용하십시오 2>>
.
sqlplus -V 2>> /tmp/test.txt