为什么不将此命令的输出分配给变量?(Bash)

时间:2017-11-19 18:26:02

标签: linux bash shell scripting redhat

尝试创建一个bash脚本来检查没有主目录的用户:

homeless=()
cat /etc/passwd | awk -F: '{ print $1 " " $3 " " $6 }' | while read user uid 
dir; do 
if [ $uid -ge 1000 -a ! -d "$dir" -a $user != "nfsnobody" ]; then 
homeless+=("$user, ")
fi 
done

echo ${homeless[@]}

有人知道为什么我的数组是空的,即使脚本产生输出吗?

如果我在while循环中回显$ user:

if [ $uid -ge 1000 -a ! -d "$dir" -a $user != "nfsnobody" ]; then 
    echo "$user, "
fi 
done

我可以实现输出:

#./script.sh
testuser1, testuser2,

0 个答案:

没有答案