目前我正在做一个项目,我需要将参数从Java应用程序(基本上是Java Swing)传递到Cygwin命令界面。我怎么能这样做?
由于
答案 0 :(得分:2)
如果查看Cygwin.bat
的内容,您会看到它调用bash.exe
二进制文件:
@echo off
C:
chdir C:\cygwin\bin
bash --login -i
命令二进制文件通常具有help
参数。在这种情况下,bash肯定会:
bash --help
GNU bash, version 3.2.49(23)-release-(i686-pc-cygwin)
Usage: bash [GNU long option] [option] ...
bash [GNU long option] [option] script-file ...
GNU long options:
--debug
--debugger
--dump-po-strings
--dump-strings
--help
--init-file
--login
--noediting
--noprofile
--norc
--posix
--protected
--rcfile
--restricted
--verbose
--version
--wordexp
Shell options:
-irsD or -c command or -O shopt_option (invocation only)
-abefhkmnptuvxBCHP or -o option
Type `bash -c "help set"' for more information about shell options.
Type `bash -c help' for more information about shell builtin commands.
Use the `bashbug' command to report bugs.
现在我们知道它需要什么选项,您的Java应用程序可以直接调用bash:
String commandString = "help";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("C:\\cygwin\\bin\\bash -c " + commandString);
请记住将commandString
替换为Swing组件中的值。