在java代码中间将参数传递给bash文件
Pass parameters to bash file in the middle of a java code
我有一个Java代码通过以下命令行运行
java -jar CPM-1.0-SNAPSHOT-jar-with-dependencies.jar Example arg[0] arg[1] arg[2] arg[3]
显然我需要传递4个参数。
在我的Java代码中间,我应该使用下面的bash文件调用C++代码。
#!/bin/bash
/home/CPM/Codes/source/GcEqClass arg[0]
bash文件中的arg[0]与Java命令行中的arg[0]相同,在命令行中使用arg[0]的主要原因是在bash脚本中使用它。我的问题是,如何在不手动编辑bash文件的情况下将arg[0]从命令行传递到bash脚本?
您的bash文件应该是:
#!/bin/bash
/home/CPM/Codes/source/GcEqClass "$@"
"$@"
基本上等同于java中的参数数组,类似于"$1" "$2" "$3" ..
从Java,你可以做:
Runtime.getRuntime().exec(new String[] {
"/yourpath/toyour/script", arg[0]
});
编写脚本:
#!/bin/bash
java -jar CPM-1.0-SNAPSHOT-jar-with-dependencies.jar Example $1 $2 $3 $4
将其保存为scritp.sh
,然后运行它:
./script.sh 1 2 3 4
相关文章:
- 如何在 bash 中使用管道在 c++ 中使用 getenv() 访问文件?
- -bash:/a.out:无法执行二进制文件:Exec格式错误
- Bash 代码,仅在当前可执行文件完成运行时在循环中运行可执行文件
- 如何处理在 bash 文件中获取运行时输入的 c++ 程序
- 如何使用gnu_parallal以运行多个可执行文件和/或bash脚本
- bash:./main:无法执行二进制文件:Exec格式错误
- 以目录作为参数运行C 文件?而是使用bash
- 如何使用CMakeLists.txt为我的可执行文件设置bash中的环境变量
- 将输入值从BASH脚本传递到C 可执行文件
- 用于使用命令行参数C++的生成文件和 Bash 脚本
- execve /bin /bash:h:没有这样的文件或目录
- 如何使用 bash 将文本文件定向到 C 程序
- 使用[msys]bash删除所有名称与模式匹配的文件,而不考虑文件名字母大小写
- 如何遍历当前目录并将文件存储在数组中?Bash 外壳脚本
- 如何在 bash 文件异常退出时捕获异常
- C++临时文件作为 bash 脚本执行
- bash:即使二进制和Linux是64位的,也无法执行二进制文件:Exec格式错误
- 生成文件:在全局变量初始化之前通过"make all"命令运行 bash 脚本
- 如何从可执行文件打开bash
- 在java代码中间将参数传递给bash文件