我想写一个shell脚本检查所有组的用户是一部分,并为每个显示<用户名>是组的一部分。我做了这个脚本,但它没有显示用户的名字。以下是我的剧本:
GroupsOfUser(){
for i in $(groups) ; do
echo "$i" "is part of" "$()"
done
}
GroupsOfUser '/etc/group/passwd'
我应该向脚本添加什么命令,以便它显示所有组的用户名?
我在编程方面是新手,已经尝试了两天的解决方案。
# # #系统变量$USER
contais the account name 包含当前用户的帐户名。也许还可以看看id
command.
for i in $(groups); do
echo "$USER is part of$i"
done
或者更简洁
printf "$USER is part of %s\n" $(groups)
组命令通常更有用;Unix实用程序倾向于只打印您实际需要的信息,这使得使用它们来构建更复杂的脚本变得更容易(尽管有一些常见的例外,如ps和df,因此有成千上万的脚本需要为它们的输出重新创建解析器)。