「カット」ID出力

「カット」ID出力

idコマンドの出力を3つの部分に「切り取る」スクリプトを作成する必要があります。たとえば、

idが次のような出力を提供すると仮定します。uid=12345(mylogin) gid=100(users)

私のスクリプトは次のように出力する必要があります。

Login: mylogin
Id: 12345
Group: users

ベストアンサー1

あえて分析しないでください。 POSIX必要idこれを自動化するために、さまざまなオプションがサポートされています。

printf "Login: %s\nId: %s\nGroup: %s\n" "$(id -un)" "$(id -u)" "$(id -gn)"

より多くの作業が必要になるだけでなく、idロケール依存出力を生成するオプションも許可されていないため、解析も複雑です。

LC_MESSAGES ロケール・クラスが POSIX ロケールを指定する場合は、次の形式を使用する必要があります。他のロケールでは、uid、gid、euid、egid、およびgroups文字列をロケールに対応するより適切な文字列に置き換えることができます。

最も合理的な解析ツールでこの問題を処理できますが、Unicodeをサポートしていないツールは問題を引き起こす可能性があります。

おすすめ記事