在文件中的每一行上运行java作为输入

在文件中的每一行上运行java作为输入,java,bash,shell,Java,Bash,Shell,我不熟悉bash脚本。 我想在文件的每一行上使用脚本运行一个java程序 我正在写这个脚本,但我不知道什么是正确的脚本。但是,我能够单独提取所有行。以下是我使用的脚本: #!/bin/bash IFS=$'\n' # make newlines the only separator set -f # disable globbing for i in $(cat "$1"); do java Interpreter $i >output.txt

我不熟悉bash脚本。 我想在文件的每一行上使用脚本运行一个java程序

我正在写这个脚本,但我不知道什么是正确的脚本。但是,我能够单独提取所有行。以下是我使用的脚本:

#!/bin/bash

IFS=$'\n'   # make newlines the only separator
set -f          # disable globbing
for i in $(cat "$1"); do
        java Interpreter $i >output.txt   
done
我希望输出在文件中或至少在屏幕上。 解释器是我的程序名

编辑

我的程序从标准控制台读取并写入


提前感谢。:)

答案如下:

#!/bin/bash

IFS=$'\n'   # make newlines the only separator
set -f          # disable globbing
for i in $(cat "$1"); do
        echo $i > bhavya
        java Interpreter < bhavya >> output4567.txt
done
#/bin/bash
IFS=$'\n'#使换行符成为唯一的分隔符
设置-f#禁用全局搜索
对于以美元表示的i(类别“$1”);做
echo$i>bhavya
java解释器>输出4567.txt
完成

Java不是逐行编译的。我正在尝试每行编译。每一行都是一个不同的java程序实例,这毫无意义。为什么要这样做?遵循命名方案(例如,
file1
file2
,或从args
input
input1
input2
等)并循环?如果这是一个快速的工具,我可能只是硬编码值并运行它。你真的需要理解编译和运行之间的区别。您希望在300个不同的输出上运行程序,而不是编译它。编译是使用javac将.java文件转换为.class文件的过程。