2012-06-01 6 views
3

대화 형 쉘 콘솔이 있습니다. 콘솔에 특정 명령 세트를 실행하고 종료 할 수 있습니다.쉘 스크립트에서 대화 형 모드 피하기

이제 대화 형 쉘 콘솔에 연결하고 내 명령을 자동으로 실행하는 bash 스크립트를 작성하고 아무런 상호 작용없이 끝에서 종료합니다. 이것은 비대화 형 방식으로 모든 것을 자동화하고자 함을 의미합니다. 어떤 아이디어를 어떻게 얻을 수 있습니까? 내가 말처럼 뭔가를 시도하고

는 blabla 쉘은 내가 가진이 질문의 긴/특정 버전을 찾을 수는 항상 대화 형 모드 :(

/usr/bin/blabla shell << EOF 
do A, 
do B, 
do C 
quit 
EOF 

에 저를 가지고, 여기에 대화 형 콘솔입니다 여기 -> 트릭해야 stdin 닫기 Configure flume in shell/bash script - avoid interactive flume shell console

답변

1

:

exec <&- 
+0

감사로, 다른 호스트에서 명령을 실행하는 데 정기적으로 사용, 그것은/usr/bin/blabla 쉘 <&해야 하는가? – Shengjie

+2

[documentation] (http://archive.cloudera.com/cdh/3/flume/UserGuide/#_using_the_flume_command_shell)에 따르면'echo "를 통해 쉘에 명령을 전달할 수 있습니다. connect localhost : 35873 \ ngetconfigs \ nquit"| flume shell -q' – Stefan

+1

'stdin'을 닫으면 쉘이 here-doc을 읽을 수 있습니까? –

0

당신은 퍼팅 시도 할 수 있습니다 당신의 친구 경우

command < file 
1

expect 명령 : 파일에 대화 형 프롬프트에서 입력하고자하는 명령은 다음과 같은 명령을 실행합니다. 매우 정교한 방법으로 다른 명령과의 대화식 통신을 에뮬레이트 할 수 있습니다. man expect에서

:

가 예상 다른 대화 형 프로그램 "회담이"스크립트에 따른 프로그램입니다.

0

아마 , ssh는 당신이 필요합니까 안전. "원격"시스템이 SSH 서버로 구성되어야합니다. << EOF - 내 경우, 같은 응답을

ssh [email protected] command 
관련 문제