dotfiles/services/sv/wlsunset/run
Marty Oehme 96757895dc
wlsunset: Fix pass through time variables to service
Passing them through as individual arguments on the commandline.
Previously quoting would pass them through as a single argument, making
it not work correctly.

Could switch to using bash arrays for this (to make it more robust
against word-splitting) but a) I prefer the portability of sh for such a
simple script and b) there _should_ never be a time when we pass through
anything that has weird word-splitting issues. Either the location is
passed through or the times.
2025-03-06 21:21:58 +01:00

16 lines
446 B
Bash
Executable file

#!/usr/bin/env sh
[ -r ./conf ] && . ./conf
TIME_OPTS="-S 08:00 -s 21:00 -d 3600"
if command -v curl >/dev/null 2>&1; then
loc=$(curl -s ipinfo.io | grep -e '"loc": ' | sed -e 's/^.*"loc": "\(.*\)",$/\1/')
if [ -n "$loc" ]; then
lat="$(echo "$loc" | cut -d, -f1)"
long="$(echo "$loc" | cut -d, -f2)"
TIME_OPTS="-l $lat -L $long"
fi
fi
exec 2>&1
exec chpst -e "$TURNSTILE_ENV_DIR" wlsunset ${TIME_OPTS} "$@"