PowerShellと同等のUnix?

PowerShellと同等のUnix?

複雑なシェルコマンドにテキスト出力の解析が含まれていると、常に厄介です。AWK。デフォルトでは、構造化データをテキストに変換してからテキストを再解析して構造化データを取得します。

電源装置ハウジングシェルコマンド間でテキストのみを転送するのではなく、入力されたオブジェクトを転送できるようにすることでこの問題を回避するWindowsシェル。

テキストベースではなく、オブジェクトベースのUnixシェル(PowerShellなど)はありますか?

答え1

いいえ、その逆は本当です。スプーン^H^H^H構造化されたデータはありません。ただのことです。

Unix哲学の大部分は、テキストを出力し、テキストを入力として受け入れるというアイデアに基づいています。 「を読むことをお勧めします。Unixプログラミングの芸術」、これについて良い説明があります。

誤解しないでください。私はあなたの視点を理解し、あなたが言いたいことを知っています。 Ruby、Python用の対話型インタプリタなどのシェルとして使用できるものがありますが、基本的な操作はBashほどユーザーフレンドリーではありません。たとえば、ディレクトリを変更してみてください。

さらに、シェルでオブジェクトを使用して作業することはすべてではありません。君だけだったらシェルこれをサポートすると、Unixではパニックになります。 grep、awk、sedなどのすべての標準のUnixテキスト操作ツールを変更する必要があります。

数年前、誰がこんなものを作ろうとしたようですが、名前も覚えておらず、長く聞いたこともありません。離陸しないことがあります。

答え2

実際に'というプロジェクトがあります。パシMonoの上にPowerShellを実装することを目指していますが、中断されているようです。

答え3

PowerShellは2016年にオープンソースとして公開されました。それ以来、ますます多くのプラットフォームになりました。ソースコードは以下で確認できます。GitHubUNIXシリーズシステムの多くのインストールパッケージでも同様です。

答え4

私は、解釈された(またはコンパイルされた)スクリプトを複数作成し、それをインタプリタのシェルから呼び出して、必要に応じてオブジェクトなどを返すか維持することで、ほとんどの作業を実行できると思います。

少なくとも、Ruby、Perl、Python、Haskell(GHCiなど)、JavaScript(node.jsなど)、Matlabなどの言語を使用してこれを行うことができます。

関連情報