如何反駁「Powershell 比 Linux 終端好得多」這種說法?


我最近明白了一個道理,並不是PowerShell好不好的問題,而是你用不用Windows的問題。如果你不用Windows,PowerShell做的再好也跟你無關。你用Windows,之前cmd做的再爛你也有忍著,現在有了PowerShell你當然覺得各種爽。


沒必要反駁,Unix shell 比 PS(以及其他帶類型的 shell 比如還沒做出來就魂歸天國的 nosh)確實落後一代。

單說一點,bash 之類裡面的 * 是 shell 展開的,而 PS 是應用程序展開,後者顯然要更合理(並不是每個參數都是路徑)。


從編程語言的角度來看,雖然powershell和各種sh所支持的script都很爛,但顯然powershell還是要更好一點的,至少跨process使用管道也還是強類型的,支持C#2.0級別的語法元素。你們被各種奇怪的腳本虐得還不夠慘嗎?

powershell的問題就是出生的太晚了,要不然微軟裡面也不會有那個經典的幾萬行perl(和別的東西一起)做出來的build system。


Linux終端的bshell幫了運維不少忙,但shell的設計確實爛,都被坑過不少次了。

計算機科學家David A. Wheeler在 郵件列表上指出,bash的解析器存在許多漏洞,因為它在設計時就沒有考慮過安全性,除非它停止解析環境變數,否則修正就像是打地鼠。Wheeler建議 打上非官方的補丁修正bash,這些補丁會破壞向後兼容性。其中一個補丁來自德國計算機安全專家Florian Weimer,他的補丁為bash函數加入前綴,防止它們被指明為系統變數。另一個補丁來自NetBSD開發者Christos Zoulas博士,他的補丁只允許bash在收到明確請求時輸入環境變數,消除安全風險。

而且技術大牛都說了由於歷史殘留問題(為何修復Shellshock漏洞像打地鼠),修shell的bug像打地鼠一樣。打完一個又冒出一個。

powershell 是在shell出來N年以後的產品,編程技術不可同日而語。當然比較好。


說的好像Linux Shell就真的有多好一樣。。

反正現在我在兩個系統上用Shell乾的活全用Python幹了。最多就是Win上有些需要給系統調用hooks的外麵包一層Shell。


不要反駁,用過就知道他說的對……


不要反駁,根本不是同一個時代誕生的東西。


我爺爺活到了93歲。


學教主.


powershell基於對象,posix shell基於字元。,


不用反駁,反正又不用Windows,好不好也沒關係


如果我有一天不喜歡知乎了,一定有題主的功勞。


為啥要反駁?他愛用啥用啥,有這時間和精力干點什麼不好?


告訴他Powershell那些又臭又長的語法弄出來的叼炸天的玩意不能和任何M$以外的程序配合。簡單點說,這號稱是"Shell"的玩意實際上不是給人用的。


可是terminal不是shell呀


隨他吧。自己喜歡就好。

有這點兒爭論的時間還不如看兩本書了


分頁阅读: 1 2