当前位置:  技术问答>linux和unix

如何用shell脚本动态的设置classpath

    来源: 互联网  发布时间:2016-08-04

    本文导语:  作为初学shell的菜鸟,在这里先感激您能帮我看一下这个问题了呵呵 一 问题描述: 我现在写了一个名字为start.sh 的 shell脚本要启动一个java的class文件 1. start.sh的脚本如下。 PATH=/bin:/sbin:/usr/bin:/user/sbin:/usr/local/bin...

作为初学shell的菜鸟,在这里先感激您能帮我看一下这个问题了呵呵

一 问题描述:
我现在写了一个名字为start.sh 的 shell脚本要启动一个java的class文件

1. start.sh的脚本如下。

PATH=/bin:/sbin:/usr/bin:/user/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
if [ "$JAVA_HOME" != "" ]; then
echo "You JAVA_HOME is: $JAVA_HOME "
else
echo "You JAVA_HOME is not configured, please configure and then execute again!"
     exit 1
fi

CLASSPATH=.
echo ${CLASSPATH}

$JAVA_HOME/bin/java -cp ${CLASSPATH} LauncherBootstrap $*


2. 目录结构如下
/home/wgd/testProject/bin
bin目录下存放了start.sh和LauncherBootstrap.class文件

3. 问题现象 
如果我在目录bin下执行 ./start.sh结果是正确的。
但是我如果在wgd目录下执行./testProject/bin/start.sh 就会报LauncherBootstrap.class类找不到

如果解决这个类找不到的问题阿?

二 我现在的解决思路
1.通过${PWD}得到当前路径假设叫做path1
2.通过$0得到变量假设叫做path2
3.根据path1 path2切割拼凑出classpath,并设置给CLASSPATH变量。
例如但是我如果在wgd目录下执行./testProject/bin/start.sh 则
path1=/home/wgd
path2=./testProject/bin/start.sh

希望拼凑出/home/wgd/testProject/bin作为classpath
4. 关键是我现在刚解除shell,按照上面的思路实现起来感觉相当困难。
哪位大哥给看看还有别的好方法没有。tomcat里面的startup.sh尽快支持不同目录下启动,可是我实在是看不懂怎么实现的呵呵。

|
$JAVA_HOME/bin/java -cp ${CLASSPATH} LauncherBootstrap $* 
 你看看他的相对路径
LauncherBootstrap.class这个东西在什么地方?

    
 
 

您可能感兴趣的文章:

  • shell脚本如何调用另外一个shell脚本的函数?
  • 急救!关于Shell脚本删除过期文件的问题,Shell脚本达人乱入
  • shell 脚本中命令别名在脚本外无法使用
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • C语言调用shell脚本后,通过何种方法能获取脚本中变量的值
  • 想用shell脚本定时执行另一个脚本
  • 一个shell执行另一个带参数shell脚本????????????
  • 如何给shell脚本加密,脚本中有密码。最好是比较直接的,不要说让用 shc
  • Shell脚本调用Sql脚本并向其中传递变量
  • 请问,Shell中如何执行另外一个Shell脚本?
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  • nohup执行的shell脚本,全局变量不能传递到脚本中使用吗?
  • cd、zip等命令在shell提示符下能执行,在shell脚本中为什么不能执行呢?
  • shell脚本问题 关于父脚本和子脚本的问题
  • shell脚本错误输出
  • 请教shell脚本启动程序
  • 关于shell脚本的。
  • 关于arm linux下的别名配置脚本如何在进入用户时让shell执行的问题,如bashrc,profile,.bash_profile等脚本,寻求高手解答
  • 高分请教关于Shell脚本执行中断问题?
  • linux shell脚本
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问如何在shell脚本中检测一个环境变量是否已经设置
  • 求教关于SHELL设置的问题
  • linux使用shell脚本,如何创建用户,并设置用户密码?能否给出示例?
  • ulimit -s设置堆栈是限制当前用户的? 还是限制当前shell的?
  • GOOGLE了好几遍就是找不到SHELL设置终端打印机字体的说明!各路英雄给支个招!什么方案都行!C的SHELL的!
  • cron如何设置每隔5分钟执行一个shell
  • 如何设置set-user-ID位和set-group-ID位?分别在shell中,和在c程序中
  • 大家帮我看看这个shell 怎么设置结束的返回code
  • 调用system函数执行更改MAC地址异常退出,上面的设置命令直接在shell终端中或在单独的shell脚本中能正常执行
  • /bin/nologin和/bin/false有何区别,设置成这种shell的用户还能做什么
  • unix shell怎么设置全局变量
  • 设置shell脚本传入参数值的分隔符问题
  • shell 环境变量设置问题,大家指教。
  • shell脚本设置command的timeout
  • linux下把环境变量的设置export 放到shell 脚本中?
  • 求教关于SHELL提示符设置的问题
  • 请问一个shell程序:adduser 100个用户,并且同时设置密码
  • linux BASH shell下设置字体及背景颜色
  • 一个Linux系统安全设置的Shell脚本的分享(适用CentOS)
  • 百分求助linux shell的字体设置
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • shell变量和子shell的问题请教
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 请问“当前shell”和“子shell”的区别?
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3