Thanks, that is a nice workaround. Zhenfu
> On Jul 17, 2023, at 16:00, Rainer Müller <rai...@macports.org> wrote: > > On 17/07/2023 20.58, Zhenfu Shi wrote: >> I’m looking for a way to import environment variables for a process started >> by launchd. systemd on Linux has EnvironmentFile key which allows env vars >> to be read from a file, can launchd do something similar? >> I’m asking this because my cloudflared port has command line options >> hardcoded into its launchd script which gets overwritten on every upgrade. >> If I can somehow make those options read in from another file I can make >> them configuable to the users. > > Unfortunately, I do not think this is easily possible with launchd. > > The only solution I can think of would be to wrap it with a shell script. Or > use an external start script that reads the arguments from a file. > > <key>ProgramArguments</key> > <array> > <string>/bin/sh</string> > <string>-c</string> > <string>source /opt/local/etc/foo/options && exec /opt/local/bin/foo > $FOO_OPTIONS</string> > </array> > > > Rainer