在使用IDEA本地开发监控守护线程的后台,我遇上了执行环境不兼容的问题,爆出各种“xxx不是内部或外部命令,也不是可运行的程序或批处理文件。”,简而言之就是Windows下的CMD默认不识别shell环境下的诸如sh、ssh、cat等命令。这个小demo很小,但是因为公司架构要求前后端分离+docker容器部署,所以这其中的坑还是不少的,执行环境不兼容就是其中额问题之一。
解决办法下载Git Bash进行安装,安装Git Bash是为了方便我们能在windows环境下执行linux环境下的一些操作。
下载链接:
https://git-scm.com/download/win
安装完成后,我们配置一下环境变量:
//在安装目录下的usr/bin/下就是一些我们常用shell的命令
GIT_HOME=D:\GIT\usr
//再将GIT_HOME添加至path中
%GIT_HOME%\bin;
保存之后打开cmd,随手敲一个shell命令,如pwd命令:
C:\Users\*****>pwd
/c/Users/*****
成功以后就可以重启IDEA,
再进入file->Settings->Terminal-project settings->Environment Variables查看一下环境变量是否已经导入,为了方便在Terminal调试shell命令随便把Shell path也改一下:
之后再运行到
Process process = Runtime.getRuntime().exec(shell);
时,就能以shell的方式去识别,从而就不会再报错了。
后记大家在操作的时候有什么问题,可以下方留言交流一下。