Может кто-нибудь помочь мне адаптировать этот скрипт для 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

Моя цель - найти файлы с этим расширением, которые впоследствии не могут быть удалены, что достигается с помощью chattr +i в linux

1 ответ1

2

Я был бы рад прокомментировать ваш сценарий, если вы объясните, что вы хотите от него сделать. Насколько я знаю, команда chattr специфична для linux. С его справочной страницы:

НАЗВАНИЕ
chattr - изменить атрибуты файла в файловой системе Linux

Если все, что вам нужно, это сделать файлы, возвращаемые этой командой find только для чтения, попробуйте это:

find $HOME/documents -name "*.doc" -o -name "*.xsl" -o -name "*.pdf" -exec chmod 444 {} \;

Обновление: если вам нужно предложение Даниэля Бека, вы можете включить его в команду поиска:

find $HOME/documents -name "*.doc" -o -name "*.xsl" -o -name "*.pdf" -exec chflags uchg {} \;

Я до сих пор не понимаю, зачем тебе нужен сценарий. USR=$(logname) бесполезен, поскольку все, что вам нужно, это домашний каталог текущего пользователя, который уже находится в $ HOME.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .