У меня есть несколько сложная команда удара, которая включает некоторые каналы и if-then-else пункт, не говоря уже о вызове системной программы (такой как grep
) с несколькими параметрами.
Существует ли способ создать plist, что launchd загрузит и выполнит эту сложную команду непосредственно? (В противоположность наличию plist ссылки файл сценария удара, содержащий сложную команду)
Спасибо.
Да. При установке ProgramArguments
элемент, просто используйте bash
как первый аргумент, -c
как второй аргумент, затем [your commands]
(не забывающий заменять любые объекты XML, такой как >
, &
и так далее) как третье, как так:
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-c</string>
<string>ls -1 | grep *.txt | echo > allTextFiles</string>
</array>
Замените третий элемент массива с Вашей фактической командой.