Tag: shell

将变量从Java传递给Shell脚本

我正在尝试从Java代码运行shell脚本。 目前我在脚本中手动提供数据,但我希望能够从运行脚本的Java代码中提供变量。 这是Java代码和脚本: public static void main(String[] args) { try { ProcessBuilder pb = new ProcessBuilder( “/home/najib/upload.sh”); Process p = pb.start(); p.waitFor(); System.out.println(“Script executed successfully”); } catch (Exception e) { e.printStackTrace(); } } shell代码: #!/bin/bash /usr/local/virtuoso-opensource/bin/isql 1111 dba dba exec=”set AUTOCOMMIT MANUAL;”& /usr/local/virtuoso-opensource/bin/isql 1111 dba dba exec=”delete from DB.DBA.load_list;”& /usr/local/virtuoso-opensource/bin/isql 1111 dba dba exec=”SPARQL CREATE […]

Java运行时执行与路径名称上的白色空间

我正在尝试运行OSX命令,该命令是将某些plist转换为json格式的plutil。 我在终端中使用的命令是 plutil -convert json -o – ‘/Users/chris/project/temp tutoral/project.plist’ 这个带有白色间距的路径名的命令在我的终端中工作正常,撇号(“)符号覆盖了路径名,但问题是在java的Runtime.getRuntime().exec(cmdStr)运行这个命令Runtime.getRuntime().exec(cmdStr)下面是我的代码写 public static void main(String args[]){ LinkedList output = new LinkedList(); String cmdStr = “plutil -convert json -o – /Users/chris/project/temp tutoral/project.plist”; //String cmdStr = ” plutil -convert json -o – ‘/Users/chris/project/temp tutoral/project.plist'”; //String [] cmdStr ={ “plutil -convert json -o – “, “\”Users/chris/project/temp tutoral/project.plist\””}; Process p; […]

如何在java程序中将参数传递给shell脚本

我试图运行这个在运行时调用shell脚本的java代码。 当我在终端中运行脚本时,我将参数传递给脚本 码: ./test.sh argument1 java代码: public class scriptrun { public static void main(String[] args) { try { Process proc = Runtime.getRuntime().exec(“./test.sh”); System.out.println(“Print Test Line.”); } catch (Exception e) { System.out.println(e.getMessage()); e.printStackTrace(); } } } 如何在java代码中传递脚本的参数?

从Java执行CURL – 什么是正确的方法?

我通过以下代码执行curl: // execute process Process pr = null; Runtime run = Runtime.getRuntime(); try { pr = run.exec(cmdline.split(” “)); A ret = ff(pr); pr.waitFor(); return ret; } catch (Exception ex) { throw new RuntimeException(“Executing ” + cmdline, ex); } finally { try { // close all those bloody streams pr.getErrorStream().close(); pr.getInputStream().close(); pr.getOutputStream().close(); } catch (IOException ex) […]

将shell输出重定向到文件

我正在AIX 6上工作,我在Korn Shell上运行java命令,我正在尝试调试类加载问题。 我把-verbose:class打印到加载的类,然后>> / home / user / log.log将控制台输出放入文件中。 已创建log.log文件,但其大小为零。 文件不包含任何信息,所有详细信息都在闪存中翻录屏幕。 /usr/IBM/WebSphere/AppServer/java/bin/java -verbose:class -cp “XXXXX” com.ibm.XXXX >>/home/user/log.log

* Nix ls使用Java命令

有人知道一个方法/类/库,可以让我轻松地在Java中重现* nix ls -l命令的结果吗? 由于平台独立性,不能直接调用ls。 例如。 $ ls -l myprogram.exe -rwxrwxrwx 1 auser无1261568 11月15日17:41 C:\ myprogram.exe

从shell脚本的输出更新jLabel内容

我在jFrame中有一个jLabel,它必须从shell脚本的输出更新其内容。 shell脚本的执行是从另一个jFrame中的线程完成的,我在其中将输出存储在StringBuilder(public和static)中: p = Runtime.getRuntime().exec(“testpad -i -c”+can+” -n”+pad+” “+pathFile); final InputStream inStream = p.getInputStream(); Thread uiThread = new Thread(“UIHandler”) { @Override public void run() { InputStreamReader reader = new InputStreamReader(inStream); Scanner scan = new Scanner(reader); prec=null; while (scan.hasNextLine()) { prec=scan.nextLine(); System.out.println(prec); sbuff.append(prec); sbuff.append(‘\n’); } } }; uiThread.start(); 当显示jPannel时,我更新了jLabel(jPannel中的内容): private void jPanel1ComponentShown(java.awt.event.ComponentEvent evt) { // TODO […]

如何从Java运行.sh文件?

我需要从我的Java代码运行.sh文件而不传递任何参数。 我已经尝试过了 Runtime.getRuntime().exec(“src/lexparser.sh”); 和 ProcessBuilder pb = new ProcessBuilder(“src/lexparser.sh”); Process p = pb.start(); 上述两种方法都不起作用。 有没有其他方法来运行Java的.sh文件?

使用Java for OSX编写可执行的.sh文件

所以我正在尝试编写一个可执行的.sh文件,这就是我目前正在编写的文件: Writer output = null; try { output = new BufferedWriter(new FileWriter(file2)); output.write(shellScriptContent); output.close(); } catch (IOException ex) { Logger.getLogger(PunchGUI.class.getName()).log(Level.SEVERE, null, ex); } 所以写文件就好了,但它不可执行。 有没有办法在我写它时改变可执行文件的状态? 编辑:为了进一步澄清,我试图使其默认执行,因此,例如,如果您双击生成的文件,它将自动执行。

如何在Java中保存shell脚本的echo输出

我正在研究一个Java程序,它在JUnit测试中调用几个Shell脚本(因此除了。和E之外没有输出)操作文件和SQL表,然后将所述表中的数据与它们的期望值进行比较。 一切都在理论上有效,但是我遇到了一个例子,一种类型的测试按预期工作,另一种类型在十分钟超时后失败。 我已将问题隔离为Shell脚本之一,但是我没有编写此脚本,我无法以任何方式更改它。 我可以解决此问题的最佳方法是保存相关脚本的输出,该输出来自一系列回显调用。 有没有一种直接/可靠的方法来保存回声输出? 我用谷歌搜索了一下,但没有任何结果。 我还没有尝试存储输出,所以我没有试图向您展示,但我已经编写的可能相关的代码是: //Currently using BufferedWriter, File, FileWriter, IOException, and Writer import java.io.*; //Method to write to a log file public void record(String input) throws IOException { writer = new BufferedWriter(new FileWriter(file,true)); writer.write(input + “\n”); writer.close(); } Runtime rt = Runtime.getRuntime(); //Several of these since a lot of file manipulation/script running […]