捕获备份脚本的 dscl 命令的输出

Capture Output of dscl Command for Backup Script

我目前正在管理一批正在回收的 Mac,因此我们需要想出一种方法来自动将系统上的用户文件夹(不包括任何多余的帐户,如 Shared 或 root)一次性备份到网络使用 rsync 分享。

我想使用以下命令捕获每个用户的结果输出:

$ dscl /Local/Default -list /Users UniqueID | awk ' >= 500 { print ; }'

示例输出:

John
Bob

如果这不是解决此问题的最优雅的解决方案或方法,我深表歉意(边走边学 bash)。但是,解析 John 和 Bob(或某些 n-results)的逐行结果的最佳方法是什么,将结果分配给 \Users$RESULT 并将这些内容复制到 [=14] =]?

最终,目标是从 \Users\John\Users\Bob\Volumes\Backup\John-5/5/15\Volumes\Backup\Bob-5/5/15 的基本备份,从上一个 [=19] 的结果中提取=] 命令。

感谢任何帮助!

如果我没理解错的话,像下面这样的东西应该可以解决问题。

for name in $(dscl /Local/Default -list /Users UniqueID | awk ' >= 500 { print ; }')
do
    cp -r /Users/$name /Volumes/Backup/$name-$(date +%d.%m.%y)
done

我假设你不小心使用 \ 来分割目录,是吗?此外,出于明显的原因,我从 / 切换到 .日期格式。