一時ファイルにSQL * Plusバージョンが印刷されない

一時ファイルにSQL * Plusバージョンが印刷されない

sshUnix端末に接続されているコマンドを使用して、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 -Vstdout(ファイル記述子1)の代わりにstderr(ファイル記述子2)に出力を送信しているようです。 stderrをリダイレクトするには、次のようにします2>>

sqlplus -V 2>> /tmp/test.txt

おすすめ記事