需要配置许多VNC服务器,用脚本能够自动执行大部分操作,不过首次配置需设置vnc密码,略为苦恼。
expect是Linux中交互的好工具。
#!/usr/bin/expect #第一行必不可少,表明调用expect
set timeout 10
spawn vncpasswd #spawn是expect中的命令,调用vncpasswd命令
expect "Password:" #expect当遇到“Password”时
send "123456\n" #送入“123456”并回车,windows中是\r\n,linux中只需\n
expect "Verify:"
send "123456\n"
interact #返回终端
如果要使用echo 把它写入一个文件中,则应当注意对 !号 "号的处理
输出!号 需要用 echo ''单引号
输出" 号 需要用 \" 进行转义
echo '#!/usr/bin/expect' >> /root/vncpasswdshell.sh
echo "set timeout 10" >> /root/vncpasswdshell.sh
echo "spawn vncpasswd" >> /root/vncpasswdshell.sh
echo "expect \"Password:\"" >> /root/vncpasswdshell.sh
echo "send \"123456\n\"" >> /root/vncpasswdshell.sh
echo "expect \"Verify:\"" >> /root/vncpasswdshell.sh
echo "send \"123456\n\"" >> /root/vncpasswdshell.sh
echo "interact" >> /root/vncpasswdshell.sh
chmod +x /root/vncpasswdshell.sh
cd /root
./vncpasswdshell.sh
interact会返回交互状态,从而使接下来的命令暂停执行。
如果想一路顺下去执行。可以采用expect eof;exit
从而退出!#/usr/bin/expect脚本
转载于:https://blog.51cto.com/ajian0051/1405147