cmd脚本编程是否还有市场?
根据我在BAT的工作经验,cmd脚本基本没什么用了,而shell脚本的使用倒是一直经久不衰。主要原因和Windows环境的稳定性不如Linux有关。
windows下的cmd脚本cmd脚本是指在Windows操作系统下的脚本文件,而在Windows下如何开始执行cmd命令呢,有两种方法。
第一种是在某个文件夹下创建一个记事本,然后里面写好脚本,保持之后,把文件类型从
.txt
改成.bat
文件,然后双击这个bat文件,就会开始执行了。第二种是打开“开始”,也可以直接按键盘上的Windows按键,然后在下方搜索框输入“cmd”,按回车,就进入了命令行界面,这个时候就可以执行单步操作了,比如通过cd语句,进入到刚刚那个bat文件所在的文件夹,然后输入
xxx.bat
,也能起到双击bat文件一样的效果。根据我的经验,这类脚本通常是做监控或者自动化操作,而不是数据操作等重要的动作,因为如果要做数据读取筛选,我都是直接在java里写一个文件来操作,因为开发成本更加低。
但是windows环境目前来说,并不需要监控,因为目前我们并不会在windows环境部署什么重要的服务。反倒是有可能会进行自动化擦欧洲哦,我上一次写bat脚本是写一个adb的脚本,去帮我在手机上跑一个自动化任务,基本上也不是什么重要的事情。
Linux下的shell脚本shell就不一样了,因为我们会部署重要的服务在Linux上,而且Linux还有强大的crontab功能,因此就很需要相关的监控或者定时任务。
以我们目前的服务举例,我们在Linux环境部署了一个监控,每秒执行,监控我们的服务是否能够调通,如果不能调通,就迅速启动指定文件夹下的Tomcat,这里的脚本比较复杂,主要使用了ps aux|grep 'xxx'(服务名),使用符号“$?”来显示上一条命令执行的返回值,再结合if-else语句实现判断上一个命令是否执行成功等等。
除此之外,还会在Tomcat下面写一个deploy脚本,主要用于测试环境更新服务的时候,自动解压缩war包,然后kill掉原来的Tomcat进程,再启动Tomcat从而加载新的服务。用的命令除了上面提到的ps,if-else,$?还有sh等。
综上,如果题主想要学习,更推荐你多了解shell脚本,而不是cmd命令。以上是我的浅见,欢迎各位在下方评论区给我交流点赞。
我是苏苏思量,来自BAT的Java开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。