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.
16 lines
446 B
Bash
Executable file
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} "$@"
|