我试图做这样的事情:在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