메뉴 건너뛰기

imitator

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


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


00.png


구글링을 해본 결과 해결 방법을 찾을수 있었습니다. 찾는데 시간이 꽤나 소요됐네요 

spawn을 사용시 bash -c를 첨부하여 사용하면 파이프를 사용할수 있습니다.


명령어 사용 예시

spawn bash -c "명령어1 | 명령어2"


01.png


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


02.png


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

번호 제목 글쓴이 날짜 조회 수
93 apache2 ProxyPass 사용 중 503 에러 발생시 해결 방법 관리자 2018.05.21 39
92 오픈스택 가상서버 이미지 설치 관련 정리 secret 관리자 2018.05.02 0
91 도커의 설치에 관해 정리 관리자 2018.04.10 125
» 쉘 스크립트 expect에서 spawn 파이프(pipe) 사용 방법 file 관리자 2018.02.21 189
89 CentOS 7 MRTG 한글 깨짐 발생시 해결방법 file 관리자 2018.01.04 336
88 Ubuntu 16.04 apt-get 패키지 설치 오류 발생시 해결방법 file 관리자 2017.10.10 1014
87 Ubuntu 16.04 단축 URL을 생성하는 YOURLS 설치 방법 file 관리자 2017.08.11 283
86 Ubuntu 16.04 jar 디컴파일 툴 JD-GUI 설치 file 관리자 2017.08.01 304
85 linux apk를 jar로 디컴파일하는 dex2jar 설치 및 사용 방법 file 관리자 2017.08.01 284
84 우분투 16.04 /var/lib/dpkg/lock 잠금 파일을 얻을 수 없습니다 해결법 [1] file 관리자 2017.07.20 1583
83 우분투 16.04 LTS 서버 보안 강화를 위한 knockd 설치 방법 file 관리자 2017.07.06 198
82 CentOS 6 comodo Antivirus for Linux 백신 설치 방법 file 관리자 2017.06.15 384
81 CentOS 6 ssh google-authenticator로 OTP 접속하는 방법 file 관리자 2017.06.09 292
80 vsftpd 호스트로갈 루트가 없음(No route to host) 에러 처리 방법 file 관리자 2017.05.08 1672
79 오픈스택 qcow2 이미지 가져오기 secret 관리자 2017.04.17 0
78 let’s Encrypt SSL 무료 인증서 certbot을 통해 설치 및 설정하는 방법 file 관리자 2017.04.13 1886
77 VPN를 악용하는 xe 광고글 작성자를 iptables로 차단하는 방법 [2] file 관리자 2017.03.31 152
76 리눅스 CentOS 마인크래프트 서버 spigot 1.11.2 설치(셋팅)방법 file 관리자 2017.02.27 955
75 CentOS 6.8 네트워크 간혈적으로 끊김 현상 해결 방법 file 관리자 2017.02.20 1983
74 오픈스택 미타카 NoValidHost: No valid host was found. There are not enough hosts available. file 관리자 2017.02.15 811