私を夢想家と呼んでください。しかし、私たちが使用する「すべての」CLIツールに安定した出力(JSONなど)を生成するオプションがある世界を想像してください。ls
、、free
などdf
のCLIツールをプログラムで使用するfdisk
のは非常に簡単です。 GNU標準化アプローチパラメータ構文規則、次のように出力を正規化できますか?
「--json
JSON仕様に従ってフォーマットされたツール固有のレポートを生成する」?たぶんこれは試されたが拒否されたかもしれません。そうでなければ、どのようにこのようなことを促進することができますか?
答え1
興味のある特定のツール専用のメーリングリストでこれを提唱できます。
利用可能なGNUメーリングリストはここにあります。https://lists.gnu.org/mailman/listinfo/
興味のあるツールの1つまたは他のツールがGNUメーリングリストにない場合は、そのツールを管理している人が誰であるか、およびそれらが管理する関連メーリングリストがあるかどうかを調べる必要があります。
オープンソースプロジェクトへの機能要求は、その機能を実装する機能するソースコードパッチを提供できる場合に受け入れられる可能性が高いことに注意してください。
答え2
試してみましたか?
はい。試しただけでなく。完璧。パイプ(シェル内)がバイトストリームではなくオブジェクトストリームであり、シェル変数が構造化テキストまたはフィールド区切り文字の解析を必要としないアクセス可能なプロパティを持つオブジェクトである対話型シェルがあります。
稼働時間%| awk '{print $3;}' 2 % %スタッフ 電源ケーシング 6.2.0 版権(c)マイクロソフト株式会社。すべての権利を保有。 https://aka.ms/pscore6-docs ヘルプについては「help」と入力してください。 PS /var/lib/dpkg> (Get-Uptime).TotalDays 2.98334490740741 PS /var/lib/dpkg> $U = 稼働時間を確保 PS /var/lib/dpkg> echo $U.TotalDays 2.98353009259259 PS /var/lib/dpkg>終了 %
この問題を見直すことを考えると、時代より数十年遅れていました。人々がコマンドラインシェルの再設計を検討したのは、この特別な例は初めてではありません。数十年前、M. WallとM. Joyらはこの問題についていくつかのアイデアを持っていました。
%tcsh /var/lib/dpkg> u=(`uptime`) 設定 /var/lib/dpkg> echo $u[3] 2 /var/lib/dpkg>終了 出口 % %パール << "." $ U = `稼働時間`; $U =~ /.*?up(.*?)/; 「$1\n」を印刷します。 。 2 %
あなたの考えは間違っていました:
- こういうことは他人に声をかけてすることだ。
- GNUツールとすべて既存の非標準拡張が標準です。
- ツールセットは1つだけです。