2012-08-31 2 views
1

입력 한 텍스트를 인쇄 할 수 있도록 Unix (bash) 명령 줄에서 다음 Java 프로그램에 텍스트 입력을 보내려고합니다. "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()); 
    } 
} 
+0

경우,이 방법을 수행 할 수 있습니다 http://docs.oracle.com/javase /tutorial/essential/environment/cmdLineArgs.html –

+0

작동 시키려면 프로그램을 수정해야합니까 (현재이 페이지에있는대로)? –

+0

예 .. 당신이해야합니다. –

답변

6

사용 echo

echo "Print this" | java ReadStuff 

참고이 출력됩니다 그 :

Enter some text: 
Print 

당신이 다음 단어가 아닌 전체 라인을 읽고 Scanner.next()를 호출하기 때문에.

또는 양자 택일로, 당신은 파일에 물건이있는 경우 : 프로그램은 명령 줄에서 입력을 받아

cat file_with_Print_this | java ReadStuff 
+0

'Scanner.nextLine()'이라고 쓰고 싶습니다. –

+0

이제 두 프로그램이 서로의 입력을 읽으려면 어떻게해야합니까? –

+2

@AndersonGreen 그런 다음 http://bisqwit.iki.fi/source/twinpipe.html –

관련 문제