步骤1
安装expect
sudo apt install expect tcl tk
创建bash文件(login.bash)
1 #!/usr/bin/expect
2 set timeout 3
3
4 spawn ssh 1111@11.11.11.11 -p 5102
5 # 例如:
6 # spawn ssh root@192.168.0.1
7 expect "*password*"
8 # set timeout 3
9 send "abcdY#\x24MMabcd\r"
10 expect "Welcome*"
11 send "cd /bin/\r"
12 send "source activate\r"
13 send "cd ..\r"
14 send "cd ..\r"
15 send "cd yxk\r"
16 interact
注意这里的密码如果有$,这是个特殊字符,直接使用这个字符就会有问题,所以直接使用\x24来代替美元符号,即可以正常使用
运行该bash
expect login.bash
我发现上面的写法有的时候不管用,可以使用下面的办法,例如这个密码
jxsafda#$Esdafs^Hsdaf%Hj34vsaf#RE&^rasioafdsf<:ewerhiadfdwewr
其中真正特殊的字符只有"$",其余类似于“#%^<:”都是可以直接输入的,当作不同字符即可,但是美元字符就需要特殊处理,直接加个杠就行
send "jxsafda#\$Esdafs^Hsdaf%Hj34vsaf#RE&^rasioafdsf<:ewerhiadfdwewr"
即可了,嘿嘿嘿