Unix 相當於 PowerShell?

Unix 相當於 PowerShell?

當複雜的 shell 命令涉及解析文字輸出時,我總是覺得很尷尬AWK。基本上,我們將結構化資料轉換為文本,然後再次解析文本以獲取結構化資料。

電源外殼是一個 Windows shell,它允許您在 shell 命令之間傳輸鍵入的物件而不僅僅是文本,從而避免了該問題。

是否有任何基於物件而不是基於文字的 Unix shell(例如 PowerShell)?

答案1

不,事實恰恰相反。沒有湯匙^H^H^H結構化資料。只有文字。

Unix 哲學的很大一部分是基於輸出文字和接受文字作為輸入的想法。您可能想考慮閱讀“Unix 程式設計的藝術”,對此有一個很好的解釋。

不要誤會我的意思:我理解你的觀點,我知道你想表達什麼。有些東西可以用作 shell,例如 Ruby 和 Python 的互動式解釋器,但它們對於基本任務並不像 Bash 那麼友善。例如,嘗試更改目錄。

此外,在 shell 中使用物件還不是全部。如果只有你的支持這個,在Unix上,你會不知所措。所有標準 Unix 文字操作工具都必須進行更改,例如 grep、awk、sed 等。

我想幾年前就有人嘗試過創造這樣的東西,但我不記得這個名字了,而且我已經很久沒有聽說過它了。它可能不會起飛。

答案2

其實有一個項目叫帕什旨在實現 PowerShell(在 Mono 之上),但它似乎已經停滯了。

答案3

PowerShell 在 2016 年開源。原始碼可在GitHub許多類 UNIX 系統的安裝包也是如此。

答案4

我認為您可以透過編寫一堆解釋(或編譯)腳本,然後在解釋器的 shell 中呼叫它們來完成大部分工作,如果您願意,它將返回或保留您的物件等等。

您至少可以使用 Ruby、Perl、Python、Haskell(例如 GHCi)、JavaScript(例如 node.js)、Matlab 以及其他語言來完成此操作...

相關內容