0

我正在编写一些脚本来管理服务器上具有特定配额的用户。

因此,要对组 quota10 中的所有用户应用 10GB 的配额,我使用“setquota -p”,但我有几个组。

所以我制作了一个脚本来管理所有组的所有用户。

#!/bin/zsh
groups=(1002 1007)
for gid in $groups
    echo $gid
    echo $(awk -F: '$4 == gid {print $1}' gid=$gid /etc/passwd)

但是当我执行它时,只有最后一个组给我这个组中的用户。

/etc/passwd

kimino:x:1010:1002::/home/kimino:/bin/bash
kiminoo:x:1011:1007::/home/kiminoo:/bin/bash

/etc/组

quota10:x:1002:
quota20:x:1007:

我的脚本的输出

# ./apply_quota_on_users.zsh
1002
1007
kiminoo

你有什么想法吗?

4

1 回答 1

0

您必须将函数包装在一个块中:

for gid in $groups
do
    echo $gid
    echo $(awk -F: '$4 == gid {print $1}' gid=$gid /etc/passwd)
done
于 2012-06-04T12:58:43.873 回答