回覆列表
  • 1 # IT小明

    第一,兩種指令碼執行的平臺不一樣

    shell指令碼執行在Linux的平臺上,批處理指令碼執行在windows平臺上

    第二,兩種指令碼是不一樣的語言,所以寫法和語法方面是不同的第三,兩種指令碼執行方式也不一樣的

    總之,shell指令碼適用於linux平臺,批處理指令碼在微軟的平臺上面。

  • 2 # 蟲蟲安全

    shell指令碼和批處理,通常是linux和windows下進行一些簡單指令碼執行任務的途徑。對一半使用者來說,反正都是執行任務,一個是linux、unix和mac下等類unix下,一個是windows下。但是兩者是有很大的不同。

    1、linux shell是個linux 作業系統的使用者互動層

    對linux來說,應用程式想呼叫系統底層的資源比如核心和硬體,必須透過shell呼叫。

    命令列是個小應用

    命令列是windows下的小應用,包括後來大幅度升級的PowerShell也是。

    2、linux shell是存在互動層,包括應用介面和大量的工具鏈,不依靠圖形桌面

    對linux來說是必須的,沒有shell是不行的,但是可以沒有圖形桌面,圖形桌面不過是跑在shell上的應用。

    shell下個工具,包括grep,sed,awk三劍客,以及其他cat、less、find、cut、sort、tail、top等大量小工具可以組成工具鏈方便的執行各種任務。

    比如我們要統計一個web access日誌的訪問量最大的10個ip:

    awk "{print $1}"|sort|uniq -c|sort -nr|head -n 10

    命令依賴window桌面

    而命令列包括powershell在window下都依賴window桌面,是桌面上的應用,沒有桌面無法執行。

    3、shell是一個很強大的程式語言

    shell有很多個性版本的包csh,sh, bash 和zshell功能強大,不光是命令介面還是強大程式語言。

    c shell、csh

    程式設計能力強大,基於c語言語法,比如很多unix預設都是cshell。

    ban shlinux預設的shell

    linux發行版預設的shell,也是大家使用最多的shell環境,引入了大量適應性的個性,比如tab自動補全等。愛死它了。

    zsh新一代的shell

    命令補全功能非常強大,還有命令自動糾錯功能,傻子都不怕輸錯命令了。很多碼農們的最愛

    對比下個各種shell的功能矩陣對比圖:微軟的命令列也在進化

    微軟以dos起家,以視窗環境佔領PC幾十年,最近估計也慢慢感受到了linux帶來的壓力,所以也開始懷抱開源,對於命令列也在努力改善,推出了增強版Powershell,】各種功能上,以及程式設計體驗好多了。

    在window10中 微軟還透過WSL引入了對linux子系統的支援,功能也非常不錯,相關資訊可以看筆者的文章《WSL大量功能更新,Bash on Windows還只是微軟的一個玩具?》

  • 中秋節和大豐收的關聯?
  • 韓國最好的牙膏品牌是什麼?