Try alternative code

https://github.com/alexbelgium/hassio-addons/issues/1933
This commit is contained in:
Alexandre
2025-07-02 14:50:20 +02:00
committed by GitHub
parent 7b67a090ff
commit c139419355

View File

@@ -164,7 +164,10 @@ if [ -f "$SECRETSFILE" ]; then SECRETSFILE="/homeassistant/secrets.yaml"; fi
while IFS= read -r line; do while IFS= read -r line; do
# Clean output # Clean output
line="${line//[\"\']/}" if [[ $line == \"*\" ]]; then
line="${line:1:-1}"
fi
# Check if secret # Check if secret
if [[ "${line}" == *'!secret '* ]]; then if [[ "${line}" == *'!secret '* ]]; then
echo "secret detected" echo "secret detected"
@@ -183,11 +186,11 @@ while IFS= read -r line; do
KEYS="${line%%=*}" KEYS="${line%%=*}"
VALUE="${line#*=}" VALUE="${line#*=}"
line="${KEYS}='${VALUE}'" line="${KEYS}='${VALUE}'"
export "$line" export "${KEY}=${VALUE}"
# export to python # export to python
if command -v "python3" &>/dev/null; then if command -v "python3" &>/dev/null; then
[ ! -f /env.py ] && echo "import os" >/env.py [ ! -f /env.py ] && echo "import os" >/env.py
echo "os.environ['${KEYS}'] = '${VALUE//[\"\']/}'" >>/env.py echo "os.environ['${KEY}'] = '${VALUE//\'/\\\'}'" >> /env.py
python3 /env.py python3 /env.py
fi fi
# set .env # set .env
@@ -198,7 +201,7 @@ while IFS= read -r line; do
if cat /etc/services.d/*/*run* &>/dev/null; then sed -i "1a export $line" /etc/services.d/*/*run* 2>/dev/null; fi if cat /etc/services.d/*/*run* &>/dev/null; then sed -i "1a export $line" /etc/services.d/*/*run* 2>/dev/null; fi
if cat /etc/cont-init.d/*run* &>/dev/null; then sed -i "1a export $line" /etc/cont-init.d/*run* 2>/dev/null; fi if cat /etc/cont-init.d/*run* &>/dev/null; then sed -i "1a export $line" /etc/cont-init.d/*run* 2>/dev/null; fi
# For s6 # For s6
if [ -d /var/run/s6/container_environment ]; then printf "%s" "${VALUE}" >/var/run/s6/container_environment/"${KEYS}"; fi if [ -d /var/run/s6/container_environment ]; then printf "%s='%s'\n" "$KEY" "$VALUE" >> /etc/environment; fi
echo "export $line" >>~/.bashrc echo "export $line" >>~/.bashrc
# Show in log # Show in log
if ! bashio::config.false "verbose"; then bashio::log.blue "$line"; fi if ! bashio::config.false "verbose"; then bashio::log.blue "$line"; fi