哪位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
多谢了
...全文
211 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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好写,你上面那个,看不懂,你要能把要求,详细写出来,我可以考虑帮你写一下

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧