Linux
當使用者的名稱包含空格時,我如何列出使用者的組?
我們的站點使用 Active Directory,並且許多組名包含空格。這使得輸出
groups
無法可靠解析,即使是肉眼也是如此(是否有“倫敦”和“開發者”組,或“倫敦開發者”組?)。我看不到
groups
使用另一個分隔符(換行符或 NUL 可以)或按 GID 列出組的方法。當某些組名包含空格時,有沒有辦法可靠地獲取使用者組的列表?
我正在使用 Ubuntu 18.04.3,並且會很樂意安裝更多的軟體包,或者編寫腳本!
儘管
groups
似乎沒有空分隔條目的選項,id
但確實如此 - 至少在應該適用於 Ubuntu 18.04 1的 GNU CoreUtils 實現中-z, --zero delimit entries with NUL characters, not whitespace;
所以例如
id -Gnz someuser
應該給出一個以空分隔
someuser
的補充組名稱列表 - 您可以使用id -Gnz someuser | xargs -0 printf '%s\n'
1請注意,POSIX 不強制使用此選項,因此它不可移植。參見例如The Open Group Base Specifications