메뉴 건너뛰기

imitator

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


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


00.png


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

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


명령어 사용 예시

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


01.png


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


02.png


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

번호 제목 글쓴이 날짜 조회 수
101 우분투 16.04 데스크탑에서 카카오톡 PC버전 설치하기 [32] file 관리자 2016.08.02 50257
100 서버의 ssh 접근이 안될때 확인하는 방법 file 관리자 2016.09.27 28282
99 리눅스 패스워드 변경기록 확인방법 관리자 2015.02.11 28003
98 우분투 16.04 LTS apt-get으로 APM 설치하기 [4] file 관리자 2016.05.10 24948
97 CentOS 7 싱글모드로 부팅해서 패스워드 변경하기 [5] file 관리자 2015.11.27 23592
96 우분투(Ubuntu)에서 putty로 ssh 원격 접속 실패 해결 방법 [10] file 관리자 2016.04.24 19424
95 -bash: /usr/bin/su: 허가 거부 해결방법 관리자 2016.04.18 18634
94 time.bora.net으로 rdate가 먹지 않는경우 file 관리자 2016.02.17 18140
93 리눅스 용량 정리후 df로 확인할때 실제용량이 줄어들지 않는경우 관리자 2016.05.07 14175
92 Ubuntu 18.04 Unable to locate package 에러 해결 방법 [1] file 관리자 2019.01.24 12245
91 dmesg를 실시간으로 보기 [1] file 관리자 2015.08.21 11932
90 리눅스 CPU 온도 체크 lm_sensors [1] file 관리자 2015.05.28 11117
89 CentOS 멀티 IP 설정 방법 [5] file 관리자 2015.03.06 9483
88 CentOS 6.8 네트워크 간혈적으로 끊김 현상 해결 방법 [1] file 관리자 2017.02.20 8789
87 let’s Encrypt SSL 무료 인증서 certbot을 통해 설치 및 설정하는 방법 file 관리자 2017.04.13 7972
86 LVM2_member mount(마운트) 불가 해결하는 방법 file 관리자 2016.08.26 7207
85 umount target is busy 강제 해제하는 방법 관리자 2017.02.10 7028
84 클램(ClamAV) 안티바이러스 설치하기 (CentOS 6.6) file 관리자 2016.06.30 6969
83 vsftpd 호스트로갈 루트가 없음(No route to host) 에러 처리 방법 file 관리자 2017.05.08 6829
82 CentOS 6 sendmail 설치 하는 방법 file 관리자 2016.11.16 6662