我試圖做這樣的事情:在unix中,我如何將誰的輸出傳遞給組命令?
假設有4個用戶登錄到UNIX機器,a,b,c和d。
現在,讓這些人所屬的團體,我必須鍵入了:
groups a b c d.
什麼我不知道,是如果有一種方法可以做到像who | groups
在那裏我可以管用戶當前登錄到groups命令,然後打印出所有用戶以及他們的組信息。但是,這似乎並不像預期的那樣工作 - 而是,上述命令僅給出了第一個用戶所屬的組。
我試圖做這樣的事情:在unix中,我如何將誰的輸出傳遞給組命令?
假設有4個用戶登錄到UNIX機器,a,b,c和d。
現在,讓這些人所屬的團體,我必須鍵入了:
groups a b c d.
什麼我不知道,是如果有一種方法可以做到像who | groups
在那裏我可以管用戶當前登錄到groups命令,然後打印出所有用戶以及他們的組信息。但是,這似乎並不像預期的那樣工作 - 而是,上述命令僅給出了第一個用戶所屬的組。
在bash,zsh的,和其他人:
groups $(who | cut -d' ' -f 1)
groups $(who -q)|head -n -1
who | while read -r user line; do echo "$user $line" -- `groups $user`; done
這將輸出與側面
我愛xargs的羣體「誰」的命令!該解決方案的最佳部分(與反引號或$()命令相比)是允許命令的邏輯流保持從左到右 – shmuelp 2010-10-07 01:02:03