.shスクリプトの構文エラーはどこにありますか?

.shスクリプトの構文エラーはどこにありますか?

AIXシステムのいくつかのjava64フォルダから情報を抽出し、システムのホスト名を使用して出力/ログファイルにパイプする単純な小さなスクリプトを実行しようとしましたが、うまくjava -version機能しないようです。

#
# Start Script
#

date > ./${HOSTNAME}_GetJava.txt
echo "------ Java v1.4 Information ------" >> ./${HOSTNAME}_GetJava.txt
/usr/java14_64/bin/java -version 2 >> ./${$HOSTNAME}_GetJava.txt
echo "------ Java v5 Information ------" >> ./${HOSTNAME}_GetJava.txt
/usr/java5_64/bin/java -version 2 >> ./${HOSTNAME}_GetJava.txt
echo "------ Java v6 Information ------" >> ./${HOSTNAME}_GetJava.txt
/usr/java6_64/bin/java -version 2 >> ./${HOSTNAME}_GetJava.txt
echo "------ Java v7 Information ------" >> ./${HOSTNAME}_GetJava.txt
/usr/java7_64/bin/java -version 2 >> ./${HOSTNAME}_GetJava.txt

#
# End Script
# *

答え1

間にスペースがありません2 >>

java -version 2>> ./${HOSTNAME}_GetJava.txt

または

java -version 2>> ./`hostname`_GetJava.txt

関連情報