Как получить список запусков для запуска сложной 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 > allTextFiles</string>
</array>
Замените третий элемент массива фактической командой.