java - Perl 将 bash 管道发送到 Java

标签 java perl bash pipe

我是 Perl 初学者。我有这个 Perl 片段

$normal_pileup = "samtools mpileup -q 1 -f XXXX YYYYY";
$tumor_pileup = "samtools mpileup -q 1 -f XXXX ZZZZZ";

bash -c \"java -jar ttt.jar  <\($normal_pileup\) <\($tumor_pileup\) output

他们尝试发出一个系统调用,将这些命令的输入传送到 Java 程序中。我无法让它发挥作用。谁能告诉我该怎么做吗?

最佳答案

您不能直接从 Perl 调用 bash。但是,如果您使用 system,则会调用/bin/sh,这可能不支持进程替换。

可能的解决方法之一是

system qq(echo 'java -jar ttt.jar  <($normal_pileup) <($tumor_pileup) output' | bash);

关于java - Perl 将 bash 管道发送到 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12174161/

相关文章:

perl - log4perl : logcluck keeps being displayed

mysql - 如何将隐含年份添加到未指定年份的字符串中?

bash - 用于测量操作完成所需秒数的简单计时器

mysql - 从其他脚本调用时,Linux 脚本和 MySql 操作不起作用

perl - 为什么 version->parse 在没有预先打印的情况下无法工作?

java - Tomcat 的 Cookie 是如何工作的?

java - Selenium 操作拖放意外导航到谷歌搜索页面

java - 过滤文件

bash - 如何使用 bash/sed 脚本删除文本文件的第一行?

java - 使用 Java 的默认包是一种不好的做法吗?