使用shell脚本写入程序的标准输入

时间:2012-08-31 05:03:10

标签: java bash unix

我想从Unix(bash)命令行向以下Java程序发送文本输入,以便它将打印输入的文本。如何编写一个shell脚本,将字符串“Print this”发送到Java程序?

import java.util.Scanner;
public class ReadStuff{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter some text:");
        System.out.println(scan.nextLine());
    }
}

1 个答案:

答案 0 :(得分:6)

使用echo

echo "Print this" | java ReadStuff

请注意,这将输出:

Enter some text:
Print

因为您正在调用Scanner.next()来读取下一个单词,而不是整行。

或者,如果你在文件中有东西:

cat file_with_Print_this | java ReadStuff