expect를 이용한 자동화(2) - scp
expect에 대한 설명은 expect를 이용한 자동화(1) - ssh 를 참조하기 바란다.
여기서는 expect를 이용해서 scp의 자동으로 passwd를 입력하고, 원격복사하는 쉘을 만들어 보겠다.
파일명 |
scp.exp |
파일 내용 |
#!/usr/bin/expect proc usage {} { set argc [llength $argv] if { $argc != 4 } { set timeout -1 spawn scp "$SRC_PATH" "$TARGET_ID@$TARGET_PATH" expect { exit 0 |
실행 방법 |
scp.exp source_path target_path userid passwd ex) scp.exp /home/noritor/aaa.txt 10.10.10.1:/home/noritor2/ noritor noritor123 |
위의 표의 파일명과 파일 내용으로 파일을 만든 뒤, 파일 권한을 실행 가능하게 변경한 뒤, 실행방법대로 실행하면 된다. 배포 쉘을
만들 때 꽤 유용하게 쓰인다.