2017-12-28 4 views
0

입력을 완료하면 control + d을 눌러야하는 스크립트 작업을하고 있습니다. 이 명령을 보내고 싶으므로 내 작업을 다시해야하는 것보다 내 작업을 스크립트로 작성할 수 있습니다.bash를 통해 Ctrl + d를 서버에 보냅니다.

+2

그래서 문제가 무엇입니까? – Simon

+2

Ctl-d는 대화 형 터미널에서 EOF를 보내는 방법입니다. 프로그램에 입력을 파이프하는 중이라면 파이프 끝에 EOF가 표시되므로 특별한 작업을 수행 할 필요가 없습니다. – Barmar

답변

1

아마도 사용자 입력의 끝을 나타내는 데 사용되는 "전송 끝"구분 기호에 대해 이야기하고있을 것입니다. 그렇다면 항상 데이터를 스크립트로 파이프 할 수 있습니다.

$ cat > input 
My input! 
^D 

그리고 파이프 스크립트로 :

$ test_script.sh < input 

이 없음 ^D이 있기 때문에 필요하지 않습니다 당신은 파일에 데이터를 쓸 것

$ test_script.sh 
My input! 
^D 

: 그 대신 이것이다 일단 그 파일이 완전히 읽혀지면 스크립트는 그에 따라 시그널링됩니다. < 셸 연산자는 STDIN을 전환하여 터미널 대신 파일에서 읽습니다. 마찬가지로 >은 프로그램의 출력을 캡처하여 여기에있는 두 번째 단계 에서처럼 파일에 저장합니다. 그러나 입력 파일을 만들거나 편집 할 도구를 사용할 수는 있습니다.

이 스크립트는 Python, Perl, Ruby, Node.js, bash 및 다른 쉘과 같은 모든 스크립트 언어에서 작동합니다.

관련 문제