- 浏览: 1251134 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (399)
- 心情故事 (12)
- java (115)
- linux (55)
- 关系型数据库 (35)
- struts,jsf,spring (11)
- jdbc,hibernate,ibatis (11)
- jsp,jstl,c:tag,标签库 (2)
- ejb,webservice (1)
- tomcat,jboss,jetty,weblogic,websphere (15)
- java网络编程 (6)
- java线程 (0)
- js,jquery,json,xml,dom,html.regex (25)
- 设计模式 (6)
- BUG记录 (2)
- ant (2)
- jsp,servlet (4)
- swing (6)
- lucene+nutch (6)
- log4j (2)
- windows doc (2)
- ruby (1)
- ruby on rails (3)
- 操作系统网络 (18)
- apache 错误 (1)
- tomcat (10)
- jboss (9)
- jetty (9)
- weblogic (9)
- websphere (10)
- apache (2)
- AIX的iostat命令查看系统磁盘的使用情况 (1)
- oracle 统计一个表格有多少列 (1)
- Exception in thread "main" java.security.KeyStoreException: Windows-MY not found (1)
- jsp (1)
- jstl (1)
- c:tag (1)
- 标签库 (1)
- struts (1)
- jsf (1)
- spring (2)
- oracle,sqlplus (2)
- sqlplus (2)
- show errors (1)
- proc (1)
- function (1)
- ORA-06544: PL/SQL: internal error (1)
- arguments: [55916] (1)
- [] (7)
- 终端身份实施文档 (1)
- 重装系统之后飞鸽传书只能看到自己 (1)
- vsftp "上传 553 Could not create file" (1)
- startWebLogic.sh启动失败,提示Error initializing Embedded LDAP Server (1)
- java agent 注册为 windows 服务 (1)
- centos (1)
- svn (1)
- apr (1)
- apr-util (1)
- activemq (2)
- oracle (5)
- mysql (3)
- nosql (3)
- NSIS (1)
- windows wmic (1)
- c 指针 (1)
- c c++ (0)
- jmeter (0)
- 性能测试 (0)
- linux,备份 (2)
- C++ ,Virtual (1)
- windows dos (1)
- android (2)
- 大数据,云计算 (1)
- JVM垃圾收集 (1)
- jdbc (2)
- invoke (1)
- hibernate (1)
- ibatis (1)
- 个人开源项目源码收藏 (1)
- 批处理 (1)
- Mongodb mapreduce (8)
- kettle (1)
- Mongodb capped (1)
- mongodb gridfs (1)
- Mongodb 入门基础知识 (1)
- mongodb (8)
- hadoop2.5.1 (1)
- hadoop (4)
- eclipse (1)
- hdfs fs (1)
- elipse hadoop plugin (1)
- PHP相关知识 (1)
- js (1)
- jquery (1)
- json (1)
- xml (1)
- dom (1)
- html.regex (1)
- 网络知识 (1)
- nginx (1)
- docker (1)
- 测试 (1)
- nodejs (1)
- iptables (1)
- linux gitlab (1)
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
web页面调用window.print()函数实现打印的功能 -
hxdtech:
非常感谢!
我在学习ibatis时的培训ppt -
zmwxiaoming:
what 能连数据库不错
SOLR的学习整理 -
springdata_springmvc:
java程序语言学习教程 地址http://www.zuida ...
java获取当前操作系统的信息 -
huanzei:
整理的不错,
oracle lpad函数
通过shell教本给java传参数,总是被空格断开(我的目的是接受带空格的参数
)
[code]#!/usr/bin/ksh # PARAMS=""; while getopts dek:f:t:vh OPTION do case $OPTION in d | e | v | h) PARAMS=$PARAMS" -$OPTION" ;; k) PARAMS=$PARAMS" -k$OPTARG"; ;; f | t) PARAMS=$PARAMS" "\""-"$OPTION$OPTARG\"; ;; \?)echo "Illegal Paremters" exit 1;; esac done echo $PARAMS #$JAVA_HOME/bin/java MyTEST $PARAMS
MyTEST{ public static void main(String args[]) { ... for (int i = 0; i < args.length; i++) { if (args[i].startsWith("-d")) dec = true; else if (args[i].startsWith("-e")) enc = true; else if (args[i].startsWith("-f")) file_name = args[i].substring(2, args[i].length()); else if (args[i].startsWith("-k")) key = args[i].substring(2, args[i].length()); else if (args[i].startsWith("-t")) text = args[i].substring(2, args[i].length()); else if (args[i].startsWith("-a")) algorithm = args[i].substring(2, args[i].length()); else if (args[i].startsWith("-v")) verbose = true; else if (args[i].startsWith("-h")) usage(); else System.out.println("Unknow args:" + args[i]); } ... } }[/code]
运行shell脚本 给参数 "abc 00", java接受到两个参数 "abc和00"
怎么回事?
关于从shell给Java传参数的问题
abc 00有空格,参数是以空格间隔的 |
关于从shell给Java传参数的问题
其实你应该发在shell版,因为不是Java的问题:)
把双引号一起赋值给PARAMS和写成"$PARAMS"是不等价的。
不知道下边的这个是不是符合你的要求。
[code] #!/usr/bin/ksh PARAMS=""; while getopts dek:f:t:vh OPTION do case $OPTION in d | e | v | h) PARAMS=$PARAMS" -$OPTION" ;; k) PARAMS=$PARAMS" -k$OPTARG"; ;; f | t) PARAMS=$PARAMS\ -$OPTION$OPTARG; ;; \?) echo "Illegal Paremters" exit 1;; esac done echo $PARAMS $JAVA_HOME/bin/java MyTEST "$PARAMS" [/code]
关于从shell给Java传参数的问题
按照你的做法,所有命令行参数将作为一个参数传递给java啦!
除非我改一改java中的参数处理方式。
还有更好的方式吗?
看来误会你的意思了。 [code] #!/usr/bin/ksh PARAMS=""; while getopts dek:f:t:vh OPTION do case $OPTION in d | e | v | h) PARAMS=$PARAMS" -$OPTION" ;; k) PARAMS=$PARAMS" -k$OPTARG"; ;; f | t) PARAMS=$PARAMS\ \"-$OPTION$OPTARG\"; ;; \?) echo "Illegal Paremters" exit 1;; esac done echo $PARAMS eval $JAVA_HOME/bin/java MyTEST $PARAMS [/code] 这样可以了吧?
发表评论
-
centos6.5 hadoop伪分布式搭建
2017-01-10 10:41 25打算整理下machine learn ,再次安装 ... -
springboot
2016-12-29 11:13 2381微服务,现在是一个越来越热的东西,软件架构发展到 ... -
elk安装记录
2016-12-27 18:04 980在centos6.5上安装elk,记录下安装过程和 ... -
dubbo服务框架
2016-12-23 15:40 480上一篇文章介绍了zookeeper,作为服务 ... -
zookeeper服务注册中心配置
2016-12-22 11:40 1663用zookeeper有一段时间了,把配置做下简 ... -
OS X 安装java开发环境
2016-12-03 23:29 591... -
关于Restful API 的设计
2015-06-12 13:32 2275Restful API的流行,很大程度上被当前的移动 ... -
Jvisualvm远程连接tomcat配置:
2015-05-12 16:16 781JvisualVm 监控远程Tomcat,需要在To ... -
jdbc mybatis hibernate springJDBC的一些理解
2015-01-15 17:10 7064... -
Java 的ExecutorService
2015-01-15 11:45 1216早期在Java5以前,我们做多线程程序,一般都 ... -
spring的IOC和AOP
2015-01-14 16:47 2352关于Spring,大家都是耳熟 ... -
java 的线程安全
2014-12-30 14:43 959现代CPU基本都是多核,支持 ... -
JVM ClassLoader
2014-12-25 16:33 936JVM在加载类的时候,都是通过ClassLoad ... -
minor Gc ,Full Gc
2014-12-24 17:22 2102在发生Minor gc之前,虚拟机会先检查老年带最 ... -
Java的主要垃圾回收器
2014-12-24 16:33 1307对象 ... -
JVM的内存结构的一点理解
2014-12-24 11:30 777... -
利用生产者消费者模式实现串行的任务并行化
2014-12-22 17:48 1235试想,一个省有100个处理节点需要 ... -
利用生产者消费者模式实现串行的任务并行化
2014-12-22 17:48 0试想,一个省有100个处理节点需要 ... -
关于Linux的Ulimit参数
2014-12-22 12:13 1275JVM 64位平台与32位平台 ... -
一种表格数据比对的方法
2014-12-19 16:59 1047假设有连个库,一个是生产库,一个是备份库,在一个特 ...
相关推荐
本文将详细解释Java如何调用Shell脚本,包括如何编写Shell脚本和在Java中如何传递参数。 首先,Shell脚本可以被看作是一系列Linux命令的集合,用于自动化执行多个命令。类似于Windows环境中的批处理文件,Shell脚本...
本问题聚焦于如何通过Java调用shell脚本,向DataX传递参数,特别是包含特殊字符的where条件。在实际操作中,这可能会涉及到字符串转义、参数安全传递以及shell命令的构建等多个技术点。 首先,我们需要理解DataX的...
在上述代码中,`command`字符串包含了Shell脚本的路径以及传递给脚本的参数。注意,如果参数包含特殊字符(如空格、分号、引号等),需要正确地进行转义或者用引号括起来,以确保Shell能正确解析。 然后,关于DataX...
在Shell脚本中,你可以通过`java`命令的`-cp`或`-classpath`选项指定更复杂的类路径,通过`java`命令后的参数传递给Java程序。此外,可以使用`if`、`while`等控制结构在Shell脚本中实现条件判断和循环,以适应各种...
在java代码中调用shell脚本并传入参数,此java文件是单个测试案例,使用main方法执行java文件
下面将详细介绍如何使用shell脚本(适用于Unix/Linux系统)和bat脚本(适用于Windows系统)来运行Java程序。 **shell脚本运行Java程序** 在Unix/Linux环境中,我们可以创建一个.sh文件作为shell脚本来执行Java程序...
在IT行业中,尤其是在系统管理和自动化任务执行领域,`shell` 和 `Java` 是两种非常重要的工具。`Shell` 是Unix/Linux系统中的命令解释器,它提供了用户与操作系统内核交互的接口,允许用户通过编写脚本来执行一系列...
要从Shell脚本中执行Java JAR文件,可以使用以下命令: ```bash java -jar path_to_your_jar_file.jar ``` 其中`path_to_your_jar_file.jar`是JAR文件的实际路径。 4. **传递参数** 如果JAR文件需要命令行...
# 指定Java虚拟机参数,如内存设置 JAVA_OPTS="-Xms256m -Xmx512m" # 定义Java类路径 CLASSPATH=$JAR_FILE # 使用java命令启动程序 java $JAVA_OPTS -cp $CLASSPATH $MAIN_CLASS ``` 在这个脚本中,`#!/bin/bash`...
其中,`<主类全名>`是指带有包名的主类名称,而`[参数]`则是传递给Java Application的命令行参数。 例如,根据给定的内容中的示例,可以通过以下命令来运行名为`jp.co.sony.impacts.epi.batch.BatchMain$*`的Java ...
Java 远程调用Shell脚本客户端包是一个实用的工具,专为开发者设计,使得在Java应用程序中执行远程Shell命令变得简单而高效。这个包的主要功能是通过Java代码发起对远程服务器上的Shell脚本的调用,从而实现跨平台的...
Java Spring-Boot Shell 启动器是一个实用工具,它提供了通过Shell脚本来管理Spring-Boot应用的便捷方式。这个启动器允许用户启动、停止、重启和查看应用日志,而无需手动使用`kill`命令来结束进程。在IT环境中,...
通过合理设置Java调试参数,开发者可以在开发、测试甚至生产环境中对Java应用程序进行远程调试,这对于定位问题、理解程序运行时的行为至关重要。本文将围绕“Java调试参数”这一主题展开,详细介绍与之相关的各项...
在IT领域,特别是软件开发与系统管理中,Java与Shell脚本之间的交互是常见的需求,尤其是在自动化运维、批处理任务以及跨平台应用中。本文将深入探讨如何在Java程序中调用Shell脚本,理解其背后的原理,并提供一系列...
shell启动jar程序的脚本,可以根据传入的参数"start"、"stop"、"restart"启动当前目录下的jar程序。
本资源主要内容包括(资源有保证,都是干货,一看就会): ...2.JAVA传参调用KETTLE远程服务执行任务实现过程及注意事项说明。 3.附件包括:配套说明文档、代码包、KETLLE任务测试文件及数据库脚本。
在Android系统中,由于安全性的考虑,普通应用通常无法直接执行shell命令,这给了一些开发者在特定场景下进行系统级操作的限制。然而,通过巧妙地利用`app_process`,可以实现在不获取root权限的情况下调用shell命令...
在实际应用中,这种工具类可能还会有其他高级特性,例如添加超时机制、返回脚本的执行结果、支持参数传递给脚本等。通过这种方式,开发者可以在Java程序中灵活地调用操作系统级别的功能,实现更复杂的自动化流程。
在本篇文章中,我们将详细介绍shell脚本运行java程序jar的方法,并解决在使用crontab定时任务时可能遇到的问题。 1. shell脚本的基本结构 shell脚本是Unix/Linux系统下的一个脚本语言,使用shell脚本可以自动执行...