셸 스크립트에서 here 문서 사용

익명 사용자의 이미지

흔히 알다시피,

셸 스크립트에서
ftp나 mail 등의 프로그램에 입력을 제공하기 위해 사용하는
here 문서(here 문서라고 불리더군요)에 대해 질문드립니다

[예시]

ftp -n << EOF
open 192.168.0.1
user root
bi
hash
get test.bin
bye
EOF

위와 같이 here 문서를 사용하여
실행시킬 프로그램에
입력값을 스크립트에서 넘겨줄 수 있습니다

그런데 ftp나 mail이 아닌 입력값이 많은 프로그램에서
here 문서를 사용하여 script로 처리하려고 하는데

특정한 입력값을 넘기는 것이 아니라
단지 엔터를 입력하여 디폴트 값이 입력되게 하고 싶은데
예를 들어,

test.exe << EOF
dog
cat
 
 
 
cow
horse
 
 
animals
EOF

위와 같이 스크립트 파일에 빈 줄로 하면 엔터만 입력되기는 합니다

그런데 디폴트 값 입력이 많아지면
빈 줄이 너무 길어져서 10~20줄 이상이 되면 스크립트 파일을 보기에 안좋은 면이 있습니다

빈줄로 하지 않고 (입력값 없이) 엔터만 입력할 수 있게 하는 방법이 있을 것 같은데
아시는 분 답변주시면 감사드리겠습니다

Anti-Lock의 이미지

이건 어떠세요??

echo -e "dog\\ncat\\n\\n\\n\\ncow\\nhorse\\n
 
animals" | test.exe

빈줄은 물론이고, \\n 도 되네요...
익명 사용자의 이미지

답변주셔서 감사합니다만
here 문서에서 적용 안되는데요;

익명 사용자의 이미지

실제 입력은 아래와 같습니다

실행파일 -b -s filename1 filename2 << EOF
입력질문1? (디폴트값): dog
입력질문2? (디폴트값): cat
입력질문3? (디폴트값):
입력질문4? (디폴트값): 
입력질문5? (디폴트값):
입력질문6? (디폴트값): cow
입력질문7? (디폴트값): horse
입력질문8? (디폴트값):
입력질문9? (디폴트값):
입력질문10? (디폴트값):animals
EOF
lovian의 이미지

단순하게 보는게 문제라면,
set nu 등으로 줄번호랑 같이 보는건 어떨까요?

-----------------
한글을 사랑합니다.

익명 사용자의 이미지

expect