将变量从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();
          }

    }

外壳代码:

#!/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 GRAPH <VAR1>;"&
/usr/local/virtuoso-opensource/bin/isql 1111 dba dba exec="ld_dir('/home/najib', 'VAR2', 'VAR1');"&
wait
/usr/local/virtuoso-opensource/bin/isql 1111 dba dba exec="rdf_loader_run();"

我想知道如何将变量放在Java代码中,以及如何在运行时调用它!

编辑:基于提供的解决方案,我将脚本更改为此:

/usr/local/virtuoso-opensource/bin/isql 1111 dba dba exec="SPARQL CREATE GRAPH <$2>;"&
/usr/local/virtuoso-opensource/bin/isql 1111 dba dba exec="ld_dir('/home/najib', '$1', '$2');"&

我还在脚本末尾添加了回显,以查看变量是否正确传递,并且看起来正确。当确实创建了图形时,第一个命令(SPARQL一个)似乎起作用,但是第二个命令未正确处理。

Mifmif

您可以将参数传递给您的shell脚本,并在de script中使用它们。Class ProcessBuilder具有一个构造函数,该构造函数接受要执行的命令,并将参数列表传递给可执行文件:

ProcessBuilder(String... command)

您必须通过这样的参数:

 ProcessBuilder pb = new ProcessBuilder("/home/najib/upload.sh",param1,param2,param3);

在脚本中,param1是$ 1,param2是$ 2,param3是$ 3(您可以根据需要在构造函数中传递任意数量的参数)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将变量从Shell脚本传递到mysql脚本

来自分类Dev

从Fastlane将环境变量传递到Shell脚本

来自分类Dev

将变量从Jython(wsadmin)传递到shell脚本

来自分类Dev

将变量从Python脚本传递到tcl shell

来自分类Dev

将jenkins管道中设置的变量传递到shell脚本

来自分类Dev

如何将变量从Shell脚本传递到.muttrc?

来自分类Dev

将python变量传递到shell脚本中

来自分类Dev

如何将多个变量从 AppleScript 传递到 Shell 脚本?

来自分类Dev

通过shell脚本将变量从父shell传递到子shell

来自分类Dev

将Java脚本变量传递到.cs文件

来自分类Dev

如何将变量从shell脚本传递到python脚本并保存,然后

来自分类Dev

将变量从shell脚本传递给jenkins

来自分类Dev

将变量从bash脚本传递到makefile

来自分类Dev

将Shell脚本的输出存储到变量

来自分类Dev

无法将shell变量传递到awk

来自分类Dev

可以将 Jenkins 参数(变量)直接传递到 shell 脚本中吗?

来自分类Dev

如何将Shell脚本变量传递给Expect脚本?

来自分类Dev

将参数从shell脚本传递到配置单元脚本

来自分类Dev

是否可以将脚本传递给shell变量中的awk?

来自分类Dev

帮助Shell脚本将变量传递给rsync

来自分类Dev

将python变量传递给嵌入式Shell脚本?

来自分类Dev

Jenkins工作流将变量传递给Shell脚本

来自分类Dev

将参数从Shell脚本传递到新会话

来自分类Dev

“找不到命令”将参数从Makefile传递到Shell脚本

来自分类Dev

将文件名从Nautilus传递到Shell脚本

来自分类Dev

将变量从活动传递到 Java 类

来自分类Dev

将变量传递到另一个脚本

来自分类Dev

通过AJAX将变量传递到PHP脚本

来自分类Dev

将JavaScript变量传递到Rails脚本中

Related 相关文章

热门标签

归档