다음 명령 줄을 사용하여 예제 Java 프로그램을 실행하려고했습니다. 그러나 후행 부분이 무엇을 < /dev/null &
사용 하는지 모르겠습니다 .
java -cp /home/weka.jar weka.classifiers.trees.J48 –t train_file >& log < /dev/null &
다음 명령 줄을 사용하여 예제 Java 프로그램을 실행하려고했습니다. 그러나 후행 부분이 무엇을 < /dev/null &
사용 하는지 모르겠습니다 .
java -cp /home/weka.jar weka.classifiers.trees.J48 –t train_file >& log < /dev/null &
답변:
</dev/null
터미널에서 프로그램 입력을 분리합니다. 일부 프로그램은 표준 입력이 연결된 대상에 따라 다르게 반응합니다. redirection </dev/null
을 사용하면 프로그램은 입력이 터미널에서 나오지 않는다는 것을 알 수 있으며 표준 입력에서 읽으려고하면 파일 끝 표시를 즉시 수신합니다.
마지막에 고독이 &
있으면 백그라운드에서 프로그램이 실행됩니다. 즉, 즉시 쉘 프롬프트가 다시 나타납니다. 이 없으면 &
프로그램 실행이 완료된 후에 만 쉘 프롬프트가 표시됩니다.
독립형은와 &
(과) 관련이 없습니다 >&
. >&
프로그램의 표준 출력과 프로그램의 표준 오류를 모두 연산자 뒤에 지정된 파일 이름 (여기서 log
) 으로 리디렉션하는 리디렉션 연산자 (tcsh, bash 및 zsh)입니다 .
다시 말해,이 명령 행을 볼 때 쉘이하는 일은 다음과 같습니다.
/dev/null
( null 장치 )에 연결하십시오 .log
(아직 존재하지 않는 경우 파일 작성 및 존재하는 경우 잘림).java
십시오 $PATH
.-cp
, /home/weka.jar
, weka.classifiers.trees.J48
, –t
, train_file`.