有人能帮助我把这个脚本适配到 Mac OS X 吗?
USR=$(logname)
f=`find /home/$USR/documents -name "*.doc" -o -name "*.xsl" -o -name "*.pdf"`
for file in $f
do
chattr +i $f
done
我的目标是找到具有此扩展名的文件,并且之后不能删除,这可以通过 linux 中的 chattr +i 实现
答案1
如果您能解释一下您希望脚本执行的操作,我很乐意对您的脚本进行评论。据我所知,该chattr
命令特定于 Linux。摘自其手册页:
NAME
chattr - 更改文件属性在 Linux 文件系统上
如果您想要的只是使 find 命令返回的文件为只读,请尝试以下操作:
find $HOME/documents -name "*.doc" -o -name "*.xsl" -o -name "*.pdf" -exec chmod 444 {} \;
更新:如果 Daniel Beck 的建议正是您所需要的,那么您可以将其合并到 find 命令中:
find $HOME/documents -name "*.doc" -o -name "*.xsl" -o -name "*.pdf" -exec chflags uchg {} \;
我还是不明白为什么需要脚本。脚本USR=$(logname)
是无用的,因为您想要的只是当前用户的主目录,而该目录已经在 $HOME 中了。