我在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/
它有效,但是我确信有一种更优雅的方式可以做到这一点,因为它看起来很漂亮草率。
答案 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
之前,请仔细检查输出是否正确。