如何在Windows中通过shell命令操作远程服务器(骚断腿)
1.Idea安装BashSupport插件
2.安装了bash后
我发现正常的bash是可以执行的,但是我想把文件通过scp上传到远程服务器,但是远程服务器需要密码,而我又不知道怎么输入密码~,看到网上说用except
3.安装Cygwin
一顿无脑操作后,windows安装except的话要需要通过Cygwin,我也不知道,希望有大哥解决下
Cygwin官网下载64位就行
安装教程这位大哥的很详细,不过第二步美化就不用看了
强烈建议在安装的时候选择一些常用的如wget,gcc等下载,我就是一股脑安装,导致什么都没装,然后各种百度如何安装wget
3.1如果安装Cygwin时什么都没选
这个时候就像我一样了。。。再次点击下载的Cygwin.exe文件,走到选择下载的时候再重新选择就行了
之后就是下一步下一步直到结束
4.安装apt-cyg
我也不知道为啥,反正跟着教程来就完了
apt-cyg
下载v1,然后解压,将解压包里的apt-cyg复制到Cygwin的安装路径下的bin目录下即可
设置镜像 apt-cyg mirror http://mirrors.163.com/cygwin
5.安装tcl,expect
apt-cyg install tcl
apt-cyg install expect
以上命令操作在Cygwin中执行
也可以在cmd中使用,配置系统环境变量将cygwin安装目录的bin路径放置到环境变量中即可
6.命令连接远程服务器
创建sh文件和第一步一样就是将下图中interpreter path改成except的安装路径即可。安装路径在Cygwin的bin目录下
#!/usr/bin/env bash
spawn ssh root@192.168.66.66
# 因为我已经免密登录了,所以下面就注释掉了~~~
#expect {
#"yes/no/"
#
#{send "yes\r"; exp_continue;}
#
#"*root*"
#
#{send "passIn,key\r"}
#
#}
#
#expect "*#"
send "cd /usr/local/docker/app/\r"
expect "*#"
send "docker-compose down\r"
expect "*#"
send "docker rmi app\r"
expect "*#"
send "docker build -t app .\r"
expect "*#"
send "docker-compose up -d\r"
expect "*#"
expect eof
linux expect 自动交互脚本用法
原谅我这个菜鸡,好多都看不懂,这些也仅是自己玩的时候的一个记录,如果无帮助,勿喷~