쉘스크립트 expect에서 파이프를 사용하는 방법

| 2018년 2월 21일 | 0 Comments

쉘 스크립트를 제작하다보면 종종 수동으로 내용을 입력해줘야하는 명령어들을 보게됩니다. 저의 경우 이를 해결하기
위해 expect를 사용하고 있습니다. 이것보다 괜찮은걸 아시는분은 댓글로 알려주시면 감사히 사용하겠습니다.

이번에 리눅스 계정에서 구글 OTP를 자동으로 생성하고 출력된 내용을 파일로 생성시키는 스크립트를 제작 할일이
있었습니다. tee 명령어를 통해 출력된 내용들을 저장시키는 것이 가능했지만 하필이면 expect의 spawn에서는
파이프 기능을 쉘 스크립트처럼 유연하게 사용할수 없어 이를 해결할 방법을 찾아보기로 했습니다.

00.png구글링을 해본 결과 해결 방법을 찾을수 있었습니다. 찾는데 시간이 꽤나 소요됐네요 
spawn을 사용시 bash -c를 첨부하여 사용하면 파이프를 사용할수 있습니다.

명령어 사용 예시
spawn bash -c “명령어1 | 명령어2”

01.png 파이프가 정상적으로 동작하는지 확인하기위해 위에서 제작한 스크립트를 동작시켜봤습니다.

02.png 파이프 뒤에 붙인 tee 명령어를 통해 출력된 내용이 정상적으로 파일로 생성되는것을 확인할 수 있습니다.

Category: LINUX

About the Author ()