scripts/guardian-set-init.sh: make script run on darwin

The version of 'sed' shipped on macOS needs a little more handholding
than gnu sed

commit-id:324ce8b7
This commit is contained in:
Csongor Kiss 2022-07-02 18:51:12 +01:00
parent 6b20aab8ab
commit f26ecbae7d
1 changed files with 7 additions and 1 deletions

View File

@ -25,7 +25,13 @@ function upsert_env_file {
# replace the value if it exists, else, append it to the file
if [[ -f $file ]] && grep -q "^$key=" $file; then
# file has the key, update it:
sed -i "/^$key=/s/=.*/=$new_value/" $file
if [[ "$OSTYPE" == "darwin"* ]]; then
# on macOS's sed, the -i flag needs the '' argument to not create
# backup files
sed -i '' -e "/^$key=/s/=.*/=$new_value/" $file
else
sed -i -e "/^$key=/s/=.*/=$new_value/" $file
fi
else
# file does not have the key, add it:
echo "$key=$new_value" >> $file