bash shell script 에서 input redirection tip

임창진의 이미지

어떤 프로그램 Autil 이 stdin 으로 사용자 입력을 받아서 처리하는데
이프로그램을 반복해서 수행시켜야 할 필요가 생겼다고 합시다.

expect 등으로 자동화 할 수도 있지만 간단하게 input redirection 으로 해결하는 방법이 있습니다.

shell 에서 사용자의 입력을 받아서 처리한경우
---------------------------------------
$>Autil
input first number: 5
input second number: 5
10

$>
----------------------------------------

redirection을 이용한 경우
---------------------------------------
$>Autil <<@
>5
>5
>@
input first number: 5
input second number: 5
10

$>
----------------------------------------

<< 의 뒤에 어떤 word 를 쓰면(위 예에서는 @)이후입력에서 해당 word 가 나올때까지 입력한 문자는 stdin 으로 redirect 합니다.

shell sccript 에 사용하실때는

test.sh
--------------
Autil <<@
5
5
@

--------------
이렇게 하시면 됩니다.