在Solaris服务器上启动carte.sh报错

蔡文祥 发布于 2015/03/14 22:11
阅读 329
收藏 0


使用SSH2连接到服务器后,进入kettle根目录后启动carte.sh报如下错误:

$java -version

java version "1.6.0_65"

Java(TM) SE Runtime Environment (build 1.6.0_65-b14)

$ls -l carte.sh

-rwxr--r--   1 infa     infa        2177 Nov 16  2010 carte.sh

$./carte.sh

./carte.sh: -: does not exist

提示错误信息就一行,感觉非常莫名其妙。

当前carte.sh具有执行的权限,Java环境已存在,是否有同僚遇到这个问题,恳请指导。

加载中
0
蔡文祥
蔡文祥
已经解决:
只要将第一行的代码改为下述代码即可:
#! /bin/bash

原因是Solaris使用sh来打开这个文件的话不支持 cd - 这种指令

0
大梦想家
大梦想家

.sh文件时有系统shell执行的,跟java有什么关系,可以把carte.sh文件内容贴出来看看


0
蔡文祥
蔡文祥
carte.sh文件,是kettle这边通用的脚本,我比较过,官方的安装包都是一样的脚本代码
#!/bin/sh

# **************************************************
# ** Libraries used by Kettle:                    **
# **************************************************

BASEDIR=`dirname $0`
cd $BASEDIR
DIR=`pwd`
cd -

. "$DIR/set-pentaho-env.sh"

setPentahoEnv

CLASSPATH=$BASEDIR
CLASSPATH=$CLASSPATH:$BASEDIR/lib/kettle-core.jar
CLASSPATH=$CLASSPATH:$BASEDIR/lib/kettle-db.jar
CLASSPATH=$CLASSPATH:$BASEDIR/lib/kettle-engine.jar

# **************************************************
# ** JDBC & other libraries used by Kettle:       **
# **************************************************

for f in `find $BASEDIR/libext -type f -name "*.jar"` `find $BASEDIR/libext -type f -name "*.zip"`
do
  CLASSPATH=$CLASSPATH:$f
done

# ******************************************************************
# ** Set java runtime options                                     **
# ** Change 512m to higher values in case you run out of memory   **
# ** or set the PENTAHO_DI_JAVA_OPTIONS environment variable      **
# ** (JAVAMEMOPTIONS is there for compatibility reasons)          **
# ******************************************************************

if [ -z "$JAVAMEMOPTIONS" ]; then
    JAVAMEMOPTIONS="-Xmx512m"
fi

if [ -z "$PENTAHO_DI_JAVA_OPTIONS" ]; then
    PENTAHO_DI_JAVA_OPTIONS=$JAVAMEMOPTIONS
fi

OPT="$PENTAHO_DI_JAVA_OPTIONS -cp $CLASSPATH -Dorg.mortbay.util.URI.charset=UTF-8 -Djava.library.path=$LIBPATH -DKETTLE_HOME=$KETTLE_HOME -DKETTLE_REPOSITORY=$KETTLE_REPOSITORY -DKETTLE_USER=$KETTLE_USER -DKETTLE_PASSWORD=$KETTLE_PASSWORD -DKETTLE_PLUGIN_PACKAGES=$KETTLE_PLUGIN_PACKAGES -DKETTLE_LOG_SIZE_LIMIT=$KETTLE_LOG_SIZE_LIMIT"

# ******************************************************************
# ** Set up the options for JAAS                                  **
# ******************************************************************

if [ ! "x$JAAS_LOGIN_MODULE_CONFIG" = "x" -a ! "x$JAAS_LOGIN_MODULE_NAME" = "x" ]; then
	OPT=$OPT" -Djava.security.auth.login.config=$JAAS_LOGIN_MODULE_CONFIG"
	OPT=$OPT" -Dloginmodulename=$JAAS_LOGIN_MODULE_NAME"
fi

# ***************
# ** Run...    **
# ***************

"$_PENTAHO_JAVA" $OPT org.pentaho.di.www.Carte "${1+$@}"



0
大梦想家
大梦想家

不知你问题解决没有 

我觉得是没找到执行的shell,可以使用 which sh 查看一下sh的具体路径  

0
大梦想家
大梦想家
原来这样啊,活到老,学到老
返回顶部
顶部