Как получить список запусков для запуска сложной 1-строчной команды bash?

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

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

Благодарю.

1 ответ

Решение

Да. При настройке 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>

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

Другие вопросы по тегам