O que você quer é possível e fácil. Apenas digite
/your/java/program "$(/your/c/program)"
A notação $(…)
é chamada de “substituição de comando”.
%código%
executa $(command1)
com saída para um pipe
captura-o e coloca-o na linha de comando.
Então
command2 $(command1)runs
command1
com a saída de command2
como um argumento de linha de comando.
Você deve adicionar aspas ( command1
) para lidar com o caso
onde a saída de "…"
(ou seja, seu programa C) é de várias palavras (por exemplo, command1
).
Isso é o que você está pedindo.
Eu discuto isso em alguma extensão aqui , onde mostro o exemplo
$ ls -ld "$(date "+%B %Y").txt" -rwxr-xr-x 1 username groupname 687 Apr 2 11:09 April 2018.txt
P.S. Se você está em um sistema muito antigo ou incomum,
a notação printf("planet earth");
pode não funcionar.
Nesse caso, tente
/your/java/program "'/your/c/program'"
$(…)
é uma versão antiga de '…'
.
Se $(…)
funcionar no seu sistema, use-o.