问题描述
因此,如果将plist文件放入/ Library / launchdaemons文件夹中,我的 zshell脚本不会将〜扩展为当前登录的用户。我必须在shell上指定完整路径脚本发送给我要放置文件的用户。即Users / myusername / filepath / mylog.log
但是,如果我将相同的plist文件放入/ Library / LaunchAgents文件夹中并引用相同的文件,则.zsh脚本中的〜可以很好地扩展。我对这种行为感到困惑吗? (我可以放〜/ filepath / mylog.log,它不会扩展任何问题
(我正在启动的zshell脚本是我的/ usr / local / bin文件夹。)我在脚本中广泛使用〜,所以我试图弄清楚如何让我的zshell脚本扩展〜有一个plist执行launchdaemon中的文件。 (我需要脚本在睡眠模式下或在用户注销时启动。)
解决方法
因此,与代理不同,守护程序要求您将要在其中运行守护程序的用户和组放在下面。由于〜是等同于$ HOME的环境变量(相同的东西),如果您未指定哪个用户帐户,.plist /守护程序将无法理解$ HOME的位置。说得通。这样做:
<key>GroupName</key>
<string>yourgroup</key>
<key>UserName</key>
<string>myusername</string>
请注意-启动控制应用程序对此可能非常有帮助。