메뉴 건너뛰기

imitator

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


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


00.png


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

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


명령어 사용 예시

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


01.png


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


02.png


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

번호 제목 글쓴이 날짜 조회 수
82 리눅스 CentOS eth1을 eth0로 교체하는 방법 [3] file 관리자 2015.01.09 6067
81 vsftpd 호스트로갈 루트가 없음(No route to host) 에러 처리 방법 file 관리자 2017.05.08 6050
80 외부아이피를 막아보자 file 관리자 2015.09.09 5193
79 리눅스 centos6에서 java 버전 변경하기 관리자 2016.12.26 4876
78 메가레이드의 상태를 간단하게 확인할수 있는방법 file 관리자 2016.06.16 4797
77 umount target is busy 강제 해제하는 방법 관리자 2017.02.10 4730
» 쉘 스크립트 expect에서 spawn 파이프(pipe) 사용 방법 [1] file 관리자 2018.02.21 4525
75 리눅스 CentOS 마인크래프트 서버 spigot 1.11.2 설치(셋팅)방법 [1] file 관리자 2017.02.27 4454
74 우분투 PC Virtual Box 설치 및 ISO 이미지 부팅 file 관리자 2015.02.06 4291
73 우분투 16.04 /var/lib/dpkg/lock 잠금 파일을 얻을 수 없습니다 해결법 [1] file 관리자 2017.07.20 3807
72 gdisk로 대용량 파티션을 생성하기 file 관리자 2016.07.22 3803
71 우분투에서 로케일(locale)을 변경하기 관리자 2015.10.20 3652
70 Ubuntu 16.04 apt-get 패키지 설치 오류 발생시 해결방법 file 관리자 2017.10.10 3460
69 오픈스택 미타카 NoValidHost: No valid host was found. There are not enough hosts available. file 관리자 2017.02.15 3450
68 우분투 시디 굽기 프로그램 브라세로 [1] file 관리자 2015.01.16 3057
67 리눅스 LSI MegaRAID SAS 9261-8i & SAS 9361-8i 펌웨어 설치 [1] file 관리자 2015.12.10 2901
66 centos 6 tomcat 설치 [1] file 관리자 2016.12.09 2634
65 CentOS 6 nginx php-fpm mysql을 yum(rpm) 설치하는 방법 file 관리자 2016.11.04 2547
64 apache2 ProxyPass 사용 중 503 에러 발생시 해결 방법 관리자 2018.05.21 2459
63 Read-only file system 관리자 2014.12.30 1993