どの亜種を簡単に見つけるか私のディストリビューションで使用するには?

どの亜種を簡単に見つけるか私のディストリビューションで使用するには?

ターミナル、シェルなどで基本的なC機能と他のコマンド(sed、awkなど)の使い方を学ぶと、オペレーティングシステムによって動作が少しずつ異なることに気づきました。 GNU 拡張と開発者のセキュリティ強化により、ディストリビューション間にはもちろん、MacOS、Linux、BSD の間にも微妙な違いがあります。何十ものウェブページを検索しなくても、私のシステムがどのバージョンを使用しているのか、どうすればわかりますか?

man役に立ちません。たとえば、man printfステータスNOTE: your shell may have its own version of printf, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports.

ベストアンサー1

ほとんどのコマンドには、探している情報を出力するために使用できるオプションがあります。あなたが言及したsedアッ、--versionパラメータを試してください:

Tux ~ $ awk --version
awk --version
GNU Awk 5.1.1, API: 3.1

専用オプションが常に提供されるわけではありません。バージョンyourcommand -h一般的に教えてください。そうでない場合は、マンページを参照してください。

その点で、特定のシェル組み込み機能がしばしば情報を生成しないという問題があると正しく書かれていますprintf

Tux ~ $ printf --version
bash: printf: --: invalid option
printf: usage: printf [-v var] format [arguments]

マンページに書いてありますが印刷機能--version パラメータに従います。
これにより、組み込み機能を使用していることを推論できます。印刷機能付属の機能ではなく機能コアツールパッケージ、バージョンは以下を使用してフルパスをトリガーできます。

Tux ~ $ which printf
/usr/bin/printf
Tux ~ $ /usr/bin/printf --version
/usr/bin/printf --version
printf (GNU coreutils) 8.32
Packaged by Gentoo (8.32-r1 (p0))

おすすめ記事