用户homedir MacOS中的Bash复制文件

时间:2018-02-08 08:10:32

标签: macos shell copy home-directory

我在Shell写作中相当新(全新)。当我的PKG工具不够用时,我不时使用它来完成特定的任务。

我在/ Library / Application \ Support /中有一个名为许可证的文件夹,我希望将其复制到用户的库中。幸运的是,每个用户都以特定的数字模式命名,我的homedir是t25542

所以这是我的小脚本:

#get the homedir name
USER=`stat -f  '%Su' /Users/t*/

#copy files
ditto /Library/Application\ Support/licences/ /Users/$USER/Library/Application\ Support/licences/

它有效,但是我确信有一种更优雅的方式可以做到这一点,因为它看起来很漂亮草率

1 个答案:

答案 0 :(得分:0)

这应该让你知道如何做到这一点:

sudo bash -c 'for u in /Users/*/ ; do SRC="/Library/Application Support/licence"; DST="$u/Library/Application Support"; echo cp "$SRC" "$DST"; echo chmod something "$DST/licence" ; done'

示例输出

cp /Library/Application Support/licence /Users/Shared//Library/Application Support
chmod something /Users/Shared//Library/Application Support/licence
cp /Library/Application Support/licence /Users/fred//Library/Application Support
chmod something /Users/fred//Library/Application Support/licence
cp /Library/Application Support/licence /Users/mark//Library/Application Support
chmod something /Users/mark//Library/Application Support/licence

先备份!

目前,它只回应它实际上没做过的事情,所以在删除echo前面的cp之前,请仔细检查输出是否正确。