将数组变量从单行转换为列表

时间:2016-06-09 11:03:28

标签: bash

美好的一天,

我有以下bash脚本,它返回一个用户列表。我希望它们作为列表而不是行回显:

#!/bin/bash
#List the users that are members of root group
gid0=$(grep root /etc/group | sed 's/^root:x:0://' | sed 's/,/\n/g')
#List the users that are sudoers in /etc/sudoers
sudoersU=$(grep "ALL=(ALL)" /etc/sudoers | grep -v '^ *#\|^%' | awk '{print $1"\n"}')
#List the users in group to execute all commands
sudoG=$(grep "ALL=(ALL)" /etc/sudoers | grep -v '^ *#' | grep '^%' | awk '{print $1}' | sed s'/%//g')
for U in $sudoG
do
sudoersG=$sudoersG" "$(grep $U /etc/group | sed 's/^'"$U"':x:[0-9]*://' | sed 's/,/\n/g')
done
all=$(echo -n $gid0 "" ; echo $sudoersU "" ; echo $sudoersG)
#sort unique two variables
allsortuniq=$(echo "$all"|tr " " "\n"|sort|uniq)
echo $allsortuniq

我无法将$ allsortuniq转为列表。

非常感谢

0 个答案:

没有答案