![임시 파일에 SQL*Plus 버전이 인쇄되지 않음](https://linux55.com/image/216984/%EC%9E%84%EC%8B%9C%20%ED%8C%8C%EC%9D%BC%EC%97%90%20SQL*Plus%20%EB%B2%84%EC%A0%84%EC%9D%B4%20%EC%9D%B8%EC%87%84%EB%90%98%EC%A7%80%20%EC%95%8A%EC%9D%8C.png)
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