【发布时间】:2016-11-11 02:35:09
【问题描述】:
我对 bash 中的 for 循环有疑问。
我想编写一个循环遍历每个 cpanel 用户的目录并查找某个文件的脚本。我只想遍历 cpanel 用户的文件夹,而不是 /home 目录中的其他文件夹。
这是我目前得到的:
cd /var/cpanel/users
for user in *
do
find /home/$user -type f -name "*myfile*"
done
mail -s "the results" my@email.com $MYOUTPUT
我不明白的是,我如何从 for..do..done 循环中收集所有输出并将其存储在一个变量中,我可以通过电子邮件发送 ($MYOUTPUT)
我想这样做:
MYOUTPUT = ""
cd /var/cpanel/users
for user in *
do
WHAT=$(find /home/$user -type f -name "*myfile*")
$MYOUTPUT = $MYOUTPUT$WHAT
done
mail -s "result" my@email.com $MYOUTPUT
但这不起作用..有什么想法吗?谢谢!!!
【问题讨论】:
-
仅供参考,分配的
=周围不能有空格。你必须写MYOUTPUT=""而不是MYOUTPUT = ""。