У меня есть скрипт bash и вам нужно выполнять команды как другого пользователя в скрипте. Но когда я переключаю пользователей, я заметил, что переменные среды не сбрасываются. Например, если я запускаю скрипт как user1 и переключаюсь на user2, переменная среды $ HOME по-прежнему относится к user1. Чего не хватает?Переменные среды при переключении пользователей в сценарии bash
#!/usr/bin/env bash
whoami # Prints "user1"
sudo -i -u user2 << EOF
whoami # Prints "user2"
echo ${LOGNAME} # Prints "user1", NOT "user2"
echo ${HOME} # Prints "/home/user1", NOT "/home/user2" as expected
EOF
whoami # Prints "user1"