公司使用sh脚本来做自动部署,同事们都是使用的mac,只有我使用windows系统,总是让别人帮我部署很麻烦的,于是就开始研究如何在windows下运行sh呢?
考虑把sh转成windows脚本?或者安装一个可以执行sh脚本的软件?都不太靠谱
后来发现win10,可以安装一个Ubuntu子系统,并且还可以在Ubuntu子系统中操作windows的系统文件,是不是可以用这玩意搞一搞呢?
如何安装Ubuntu子系统
-
开发者模式
Start->Settings->Update & Security->For Developers,勾选Developer Mode
image.png
-
开启windows子系统功能
Control Panel->Programs->Turn windows features on or off,勾选Windows Subsystem for Linux
image.png
-
更新Windows,重启
-
在Microsoft Store中搜索Ubuntu,并安装
image.png
完成后即可使用Ubuntu系统了
执行sh脚本
果然可以执行项目中sh脚本了,但是这个时候又遇到问题了,在执行下面这行时
scp xxx-fat.jar root@${HOST}:/mnt/xxx-dev-latest-fat.jar
发现并没有覆盖目标服务器上的文件,我传上去的jar变成了 xxx-dev-latest-fat.jar?
后来发现是文件编码的问题
转换脚本编码
vim打开文件,然后用命令 :set fileformat=unix,保存退出
转换文件的编码,此时脚本可以正常执行了
网友评论