哪位shell高手能把这个bat转写成sh,万分感谢!

lci21 2008-07-21 08:11:48
@echo off
if '%1=='## goto ENVSET

SET APPHOME=%~dp0
SET LIBDIR=%APPHOME%lib

rem echo %LIBDIR%
SET CLSPATH=.
FOR %%c in (%LIBDIR%\*.jar) DO Call %0 ## %%c

rem echo %CLSPATH%
rem echo %0
goto RUN

:RUN
java -Xms256M -Xmx512M -cp %CLSPATH% com.mytest.Test
goto END

:ENVSET
set CLSPATH=%CLSPATH%;%2
goto END

:END

------------------------------------------
该批处理的功能说明文档如下:
http://bbs.chinaunix.net/viewthread.php?tid=719110
多谢了
...全文
154 点赞 收藏 5
写回复
5 条回复
lci21 2008年07月27日
已经搞惦 多谢
#!/bin/sh

CLSPATH=".";
for k in $PWD/lib/*.jar
do
CLSPATH=$CLSPATH:$k
#echo "current dir is $k."
done
回复 点赞
lci21 2008年07月25日
非常感谢您的答复,但是我的lib包下还有80多个需要用到的其他第三方的jar包,用你的这种方式需要把其他的也一一指定名称吗?谢谢
回复 点赞
poscard 2008年07月25日
假设你的jar包在lib下以及当前路径(脚本所在的路径)下。而你的Test类在my.jar里
#! /bin/sh
RELATIVE_PATH=`dirname $0`
CLASSPATH=$RELATIVE_PATH/.:$RELATIVE_PATH/lib/.:$RELATIVE_PATH/lib/my.jar
java -classpath $CLASSPATH com.mytest.Test

这种问题用不着shell高手,当然,我这样的shell菜鸟有可能会误导你。
回复 点赞
lci21 2008年07月23日
首先非常感谢你的帮忙,我想实现的效果是:
我需要执行一个自己的java应用程序(com.mytest.Test),该程序已经打包到我自己的jar文件包中,我想执行该应用程序。
我的应用程序又调用了很多其他第三方的jar包,这些jar文件全部存放于当前目录的lib目录下,我就是想怎么写个sh,把所有用到的jar都加载到执行路径中,否则会报找不到类的错误,谢谢
回复 点赞
ckhitler 2008年07月22日
还是看不懂.
SHELL script好写,你上面那个,看不懂,你要能把要求,详细写出来,我可以考虑帮你写一下
回复 点赞
发动态
发帖子
系统维护与使用区
创建于2007-08-27

5680

社区成员

7.4w+

社区内容

系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区公告
暂无公告