我正在编写一些脚本来管理服务器上具有特定配额的用户。
因此,要向组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)
但是当我执行它时,只有最后一组给了我这个组中的用户。
kimino:x:1010:1002::/home/kimino:/bin/bash
kiminoo:x:1011:1007::/home/kiminoo:/bin/bash
quota10:x:1002:
quota20:x:1007:
# ./apply_quota_on_users.zsh
1002
1007
kiminoo
你知道什么是错的吗?
答案 0 :(得分:0)
你必须将你的功能包装在一个块中:
for gid in $groups
do
echo $gid
echo $(awk -F: '$4 == gid {print $1}' gid=$gid /etc/passwd)
done