expect 명령 사용하기

1992 단어 Linux
조작 지령은 대화 방식으로 대화를 진행하는 것이 매우 번거롭다
자동화를 위해 만져봤어요.
-

1. expect 명령은


명령의 대답을 식별하여 다음 입력에 자동으로 대응한다.
케이스 내부에 삽입하여 각종 자동화를 실현하여 가볍게 할 수 있다.
expect 명령이 설치되지 않았을 때
다음 명령을 설치해야 합니다.
yum install expect
-

2.실제로 어떤 동작을 해 보았는지


대화식 명령을 스크립트화하는 방법
위의 사이트를 참고하여 운행을 시험해 보다.
expect -c "
spawn [実行したいコマンド]
expect [コマンドの返答]
send -- [次のコマンド]
"
검증하기 위해 가상 기계를 만들었습니다.

★ PW 변경 시
[root@localhost ~]# 
[root@localhost ~]# cat /etc/passwd | grep hoge
[root@localhost ~]# 
[root@localhost ~]# useradd hoge
[root@localhost ~]# 
[root@localhost ~]# cat /etc/passwd | grep hoge
hoge:x:502:502::/home/hoge:/bin/bash
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# passwd hoge
Changing password for user hoge.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# cat passwd-test.sh 
#!/bin/sh

export LANG=C
pw="hom7fak8eUd2"

expect -c "
spawn passwd hoge
expect \"New password:\"
send -- \"${pw}\n\" 
expect \"Retype new password:\"
send -- \"${pw}\n\"
expect \"passwd: all authentication tokens updated successfully.\"
send -- \"exit\n\"
"
[root@localhost ~]# 
[root@localhost ~]# ./passwd-test.sh;echo $?
spawn passwd hoge
Changing password for user hoge.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.0
[root@localhost ~]# 
[root@localhost ~]# exit
logout
[user@localhost ~]$

좋은 웹페이지 즐겨찾기