使用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环境已存在,是否有同僚遇到这个问题,恳请指导。
已经解决:
只要将第一行的代码改为下述代码即可:
#!/bin/bash
原因是Solaris使用sh<spanstyle="line-height:1.5;font-size:10pt;">来打开这个文件的话不支持cd-这种指令
.sh文件时有系统shell执行的,跟java有什么关系,可以把carte.sh文件内容贴出来看看
dirname$0
cd$BASEDIRDIR=pwd
cd-."$DIR/set-pentaho-env.sh"setPentahoEnvCLASSPATH=$BASEDIRCLASSPATH=$CLASSPATH:$BASEDIR/lib/kettle-core.jarCLASSPATH=$CLASSPATH:$BASEDIR/lib/kettle-db.jarCLASSPATH=$CLASSPATH:$BASEDIR/lib/kettle-engine.jar#******************************************#JDBC&otherlibrariesusedbyKettle:#**********************************************forfinfind$BASEDIR/libext-typef-name"*.jar"``find$BASEDIR/libext-typef-name"*.zip"
doCLASSPATH=$CLASSPATH:$fdone#**********************************************************#Setjavaruntimeoptions#Change512mtohighervaluesincaseyourunoutofmemory#orsetthePENTAHO_DI_JAVA_OPTIONSenvironmentvariable#(JAVAMEMOPTIONSisthereforcompatibilityreasons)#******************************************************************if[-z"$JAVAMEMOPTIONS"];thenJAVAMEMOPTIONS="-Xmx512m"fiif[-z"$PENTAHO_DI_JAVA_OPTIONS"];thenPENTAHO_DI_JAVA_OPTIONS=$JAVAMEMOPTIONSfiOPT="$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"#***********************************************************
#SetuptheoptionsforJAAS#******************************************************************if[!"x$JAAS_LOGIN_MODULE_CONFIG"="x"-a!"x$JAAS_LOGIN_MODULE_NAME"="x"];thenOPT=$OPT"-Djava.security.auth.login.config=$JAAS_LOGIN_MODULE_CONFIG"OPT=$OPT"-Dloginmodulename=$JAAS_LOGIN_MODULE_NAME"fi#*****
#Run...#**********"$_PENTAHO_JAVA"$OPTorg.pentaho.di.www.Carte"${1+$@}"
不知你问题解决没有
我觉得是没找到执行的shell,可以使用whichsh查看一下sh的具体路径
原来这样啊,活到老,学到老版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。