我的 .sh 脚本语法错误在哪里?

我的 .sh 脚本语法错误在哪里?

尝试运行一个简单的小脚本来java -version从 AIX 系统的几个 java64 文件夹中提取信息,并使用系统的主机名通过管道传输到输出/日志文件中,但似乎无法使其工作。

#
# 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

相关内容