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開發工程師,每日分享科技類見聞,歡迎關注我,與我共同進步。