我有一个有点复杂的 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>
将数组的第三个元素替换为您的实际命令。