Я хочу створити сервіс за допомогою Automator, щоб запустити скрипт оболонки на всі файли в папці, скажімо, видалити всі файли журналу. Що я зробив, так і є
- Створено нову послугу в автоматизаторі.
- Додано дію "Запустити сценарій оболонки". Я зараз змінив це на 'pwd'.
- Вибране "Сервіс отримує вибрані папки".
- Спробував запустити його, але отримайте повідомлення. "Щоб перевірити цю послугу в Automator, додайте дію" Отримати вказані елементи пошуку "на початку вашого робочого процесу. Видаліть або відключіть дію перед запуском робочого процесу за межами Automator.
- В ПОРЯДКУ. Тому я додаю "Отримати вказані елементи пошуку". До списку елементів додано каталог "тестування".
Тепер, коли я запускаю скрипт, вікно результатів друкує мою домашню директорію.
В іншому місці я прочитав, що, можливо, мені потрібно додати
cd "$1"
до початку мого сценарію. Я це зробив, але він все ще друкує домашній каталог. Як змусити цю річ надрукувати каталог, який я вибрав у розділі "Отримати вказані елементи пошуку?"
Відредаговано, щоб додати
Ось знімок екрана сценарію, який працює.
Ось знімок екрана зі сценарієм, який не працює.
Звичайним способом я мав би справу з помилкою "не знайдено відповідності: * .log" - перенаправити вихідну помилку на нуль. Заміна рядка "rm" на
find . -name "*.log" -print0 | xargs -0 rm -rf
Працює, хоча. Це здається складніше, ніж має бути.