#!/bin/bash
GROUPS=$(cut -d: -f1 /etc/group)
echo "$GROUPS"


如果我是普通用户,则此代码的输出为1000;如果我是root用户,则此代码为0,而执行同一命令(cut -d: -f1 /etc/group)时,将返回计算机上所有可用组的列表。我也尝试使用grep "" /etc/group,但是产生相同的结果。我什么不来?

最佳答案

正确的方法是getent group|cut -d: -f1,因为身份验证方法比/ etc / group多。例如sql,ldap等...
并且不建议在shellscript中使用大写的变量名-正是为了防止这种情况。

关于linux - 通过bash脚本列出计算机上的所有组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39231389/

10-14 17:10
查看更多