【发布时间】:2018-07-18 17:34:19
【问题描述】:
我在壳牌写作方面相当新(完全新)。当我的 PKG 工具不够用时,我会不时使用它来完成特定任务。
我在 /Library/Application\ Support/ 中有一个名为 licenses 的文件夹,我想将它复制到用户的库中。幸运的是,每个用户都以特定的数字模式命名,我的 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/
它可以工作,但是我确信有一种更优雅的方法可以做到这一点,因为它看起来很草率。
【问题讨论】:
-
只是好奇:ditto 是什么?另外,您的 shell 脚本在语法上不正确(关闭反引号),并且 stat 命令在这种情况下没有任何意义。您要求一种更优雅的方式,但恕我直言,您在此处发布的脚本无法工作(因为您的
stat -f命令的输出至少对我而言会产生错误消息 cannot read file system '%Su' 的信息:没有这样的文件或目录 - 至少在我的 stat 版本中)。会不会是你在 MacOS 上?如果是这样,你应该说出来。 -
感谢您的回答。它在 Mac 上,添加了标签。 Ditto 是 Mac World 中的二进制文件。
-
你的意思是你要调用N次来自己做N个用户中的每一个?还是您的意思是每个用户都应该运行它来整理自己?
-
抱歉,我在用英语表达自己时遇到了一点问题……事实上,该脚本将通过远程桌面在所有可用的工作站上远程执行。在工作站上可以有多个 t* 用户(每个 t* 在公园中都是唯一的)。 “license”文件夹位于工作站的 /Library/Application Support/ 中,但脚本必须将其复制到每个用户的每个 ~/Library/Application Support/ 中。
标签: macos shell copy home-directory