安装expect命令 两种方式

yum安装

yum -y install expect

手动安装

expect以及tcl版本

#!/bin/bash
oldpath=`pwd`
tar -zxf tcl8.4.20-src.tar.gz
#3.安装配置
cd tcl8.4.20/unix  
./configure --prefix=/usr/tcl --enable-shared  
make  
make install  
#注意:
#1、安装完毕以后,进入tcl源代码的根目录,把子目录unix下面的tclUnixPort.h copy到子录generic中。
cp ./tclUnixPort.h ../generic/

#(二)expect 安装 (需Tcl的库)

#2.解压缩源码包
cd $oldpath
tar xzf expect5.45.tar.gz  
#3.安装配置
cd expect5.45  
./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.4.20/generic  
make  
make install  
ln -s /usr/tcl/bin/expect /usr/expect/bin/expect
ln -s /usr/tcl/bin/expect /usr/bin/expect
#!/bin/bash oldpath=`pwd` tar -zxf tcl8.4.20-src.tar.gz #3.安装配置 cd tcl8.4.20/unix ./configure --prefix=/usr/tcl --enable-shared make make install #注意: #1、安装完毕以后,进入tcl源代码的根目录,把子目录unix下面的tclUnixPort.h copy到子录generic中。 cp ./tclUnixPort.h ../generic/ #(二)expect 安装 (需Tcl的库) #2.解压缩源码包 cd $oldpath tar xzf expect5.45.tar.gz #3.安装配置 cd expect5.45 ./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.4.20/generic make make install ln -s /usr/tcl/bin/expect /usr/expect/bin/expect ln -s /usr/tcl/bin/expect /usr/bin/expect

testcase

#!/bin/bash
#create hadoop user
user1=$1
useradd $user1

expect -c "
set timeout -1;
spawn passwd $user1;
  expect {
    *password:* {send -- hadoop
;exp_continue;}
    eof {exit 0;}    
}"
# 更改用户组为root
usermod -g root $user1
#test comand 
# id $user1
#!/bin/bash #create hadoop user user1=$1 useradd $user1 expect -c " set timeout -1; spawn passwd $user1; expect { *password:* {send -- hadoop ;exp_continue;} eof {exit 0;} }" # 更改用户组为root usermod -g root $user1 #test comand # id $user1
yum安装 yum -y install expect 手动安装 expect以及tcl版本 #!/bin/bash oldpath=`pwd` tar -zxf tcl8.4.20-src.tar.gz #3.安装配置 cd tcl8.4.20/unix ./configure --prefix=/usr/tcl --enable-shared make make install #注意: #1、安装完毕以后,进入tcl源代码的根目录,把子目录unix下面的tclUnixPort.h copy到子录generic中。 cp ./tclUnixPort.h ../generic/ #(二)expect 安装 (需Tcl的库) #2.解压缩源码包 cd $oldpath tar xzf expect5.45.tar.gz #3.安装配置 cd expect5.45 ./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.4.20/generic make make install ln -s /usr/tcl/bin/expect /usr/expect/bin/expect ln -s /usr/tcl/bin/expect /usr/bin/expect testcase #!/bin/bash #create hadoop user user1=$1 useradd $user1 expect -c " set timeout -1; spawn passwd $user1; expect { *password:* {send -- hadoop ;exp_continue;} eof {exit 0;} }" # 更改用户组为root usermod -g root $user1 #test comand # id $user1
经验分享 程序员 微信小程序 职场和发展