-
1 # 通往月半的路上
-
2 # X工程師
shell指令碼?
有時間瞭解下亦常不可,但是你要靠這個吃飯就很難了。反正學習也花不了niy太多時間
-
3 # 紙飛機技術拆解局
如果是問我的意見,那麼,是比較明確的,那就是:基本沒有太多的必要去專門學習了。而說到底,這樣說的原因,主要是基於以下的兩個方面考慮:
BAT/CMD指令碼本身不是一種很完備的語言BAT/CMD本質上是一種“批處理語言”,基本上可以對等於Linux下的各種shell語言,比如bash等。因此,這種語言的表達能力是非常弱的,也沒有現代語言所普遍具備的一些語法要素,比如物件、函式、錯誤處理等等等等。
實際上,已經有了更好的替代者:PowerShell這才是微軟所建議的姿勢,和BAT/CMD指令碼相比,PowerShell既保留了BAT/CMD指令碼的主要特色,比如:管道,又是一種非常完備和現代的語言。自從2006年微軟釋出以來,經過十多年的不斷髮展,現在已經成為了Windows 10版本預設攜帶的一種指令碼引擎(5.0),因此,也實際上成為了現在進行Windows下指令碼程式設計的預設標準。
更為重要的是,當前,微軟似乎有意擴充套件這門語言的應用場景,不僅將這一語言開源,而且大力推進了其在MacOS/Linux系統上的實現,因此大有做大之勢。
-
4 # 嵌入式宏思微想
我認為它是一門即學即用,隨用隨學的語言,並不需要專門的計劃的系統的學習,有不會的,查查就是了。
有沒有市場?這個就看專案情況,比如在Mac上開發的話,BAT/CMD可能就不太適合。
有沒有更好的指令碼語言?Python就很不錯,題主要學習指令碼語言,我建議您考慮Python。
-
5 # 一個存在感小透明
根據我在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等。
回覆列表
假設題主說的cmd指令碼程式設計指的就是Windows 上的批處理
首先,如果只想靠寫批處理來獲得一份工作,我估計很難。畢竟在Windows 下,大部分都是圖形介面,用cmd的情況很少,即使有需要用,也是作為輔助性質的工具來使用的。所以,從這種情況下來看,基本是沒什麼市場。
其次,是否值得學習?我個人覺得,值得,但沒必要花大塊的時間專門學習,可以現學現用。畢竟批處理可以幫你做一些重複性質的工作,提高效率。
總之,技多不壓身,可以學習,但不適合作為主業。
以上,個人觀點,不喜勿噴