我想创建一个以行开头的脚本:
#!java hogehoge.Hoge
在我的OS X和CentOS7的机器上运行。
但CentOS6的机器给我一个错误:
./test.sh: bad interpreter: java
(我的操作系统是JP,所以我省略了一些错误信息,但无论如何它说java不存在。)
所有环境都在zsh和 当然,每个$ PATH都包含一些像/ usr / bin这样的PATH。 如果我尝试以:
开头的新脚本#!/usr/bin/java hoge.Hoge
然后它甚至在带有“java”的脚本不起作用的地方运行。
差异来自操作系统之间的差异吗?
还是还有其他我没有意识到的事情?
答案 0 :(得分:0)
Java不是脚本解释器,但您可以使用脚本运行Java进程。像
这样的东西#!/usr/bin/env bash
# export JAVA_HOME="/path/to/java_installation"
# export PATH="$PATH:$JAVA_HOME/bin"
java hoge.Hoge
您可能需要定义JAVA_HOME并将其添加到PATH中(取决于您的Java安装)。