Как добраться, launchd plist к diretly выполняет сложную 1 команду удара строки?

У меня есть несколько сложная команда удара, которая включает некоторые каналы и if-then-else пункт, не говоря уже о вызове системной программы (такой как grep) с несколькими параметрами.

Существует ли способ создать plist, что launchd загрузит и выполнит эту сложную команду непосредственно? (В противоположность наличию plist ссылки файл сценария удара, содержащий сложную команду)

Спасибо.

13
задан 18.05.2011, 17:39

0 ответов

Да. При установке ProgramArguments элемент, просто используйте bash как первый аргумент, -c как второй аргумент, затем [your commands] (не забывающий заменять любые объекты XML, такой как >, & и так далее) как третье, как так:

<key>ProgramArguments</key>
<array>
        <string>/bin/bash</string>
        <string>-c</string>
        <string>ls -1 | grep *.txt | echo &gt; allTextFiles</string>
</array>

Замените третий элемент массива с Вашей фактической командой.

16
ответ дан 07.12.2019, 11:37

Теги

Похожие вопросы