2015-04-22 1 views
0

Я пытаюсь создать AppleScript, который ищет в домашней папке пользователя определенную папку с именем keyPRO. Я использую следующий код в моем AppleScript, чтобы сделать это:Исключить папку библиотеки от поиска с помощью команды find в Terminal-OS X Mavericks

do shell script "find ~/ -name 'keyPRO'" 

(«~ /» означает поиск внутри домашней папки текущего пользователя.)

Что раздражает то, что каждый раз, когда я его запускаю , «Терминал» ищет внутри моей папки «Библиотека», которая вызывает ошибку «Разрешения на отказ», а также другие случайные данные.

Есть ли способ исключить из поиска папку библиотеки пользователя?

ответ

0

Первоначально мечение вашего вопроса с или, более specficially, получил бы ему больше внимания ( не приходит в игру здесь - AppleScript-х do shell script не открывает окно терминала, он просто создает оболочки ребенка обработать.).

do shell script "find ~ -path ~/Library -prune -o -name 'keyPRO' -print" 

исключить из вашей команды поиска ~/Library.

Из корпуса, запустите man find для получения дополнительной информации о команде find.

Однако, обратите внимание, что вы не обычно видеть предупреждения или сообщения об ошибках при использовании do shell script AppleScript, если только команда оболочки не удается (сообщает ненулевой код завершения) в целом (в этом случае AppleScript выдает ошибку с сообщение об ошибке оболочки в качестве описания).

Предупреждения и сообщения об ошибке отправляются в поток STDERR, в то время как do shell script по умолчанию только захватывает стандартный вывод.

+0

Большое спасибо, это сработало! Немного долго для меня, но это будет делать. Это был мой первый вопрос, поэтому я надеюсь, что вы простите меня за то, что вы являетесь маркером nooby. –

+0

@ TheWiseTurtle: Мои удовольствия; рад слышать это. Не стоит беспокоиться о повторной маркировке; мы все были noobs один раз. – mklement0