這個腳本是我在創建samba用戶的時候用到的,一開始我是一步一步的操做,後來嫌麻煩了,就寫了這個腳本,也學習了一下expect。shell
#!/usr/bin/expect
set user [lindex $argv 0]
set pass [lindex $argv 1]學習
spawn sed -i "s/123,/&$user,/g" /etc/samba/smb.conf 將新用戶添加到smb配置文件
spawn useradd -s /bin/sh -d /home/$user $user 創建系統用戶
expect "*#"
spawn passwd $user 建立密碼
expect "*password:"
send "$pass\r"
expect "*password:"
send "$pass\r"
spawn smbpasswd -a $user 添加用戶到sbm
expect "*password:"
send "$pass\r"
expect "*password:"
send "$pass\r"
interactspa
註釋:進程
spawn: 後面加上須要執行的shell 命令變量
expect: 只有spawn 執行的命令結果纔會被expect 捕捉到,由於spawn 會啓sed