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をサポートしていないツールは問題を引き起こす可能性があります。