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