Вопрос был бы
в чем именно разница между запуском этих двух команд.
Я как рут сделал кастомный env. Переменная
export A="abcdef"
затем в корневой оболочке
sudo -i
echo $A
возвращается
abcdef (as expected)
Однако, когда я возвращаюсь к обычному пользователю и запускаю
sudo -i echo $A
он возвращает пустую строку.
Итак, когда вы запускаете команду sudo echo $ A, используются ли переменные среды и оболочка от обычного пользователя?
и есть ли способ получить abcdef, даже если я запустил sudo echo $ A?
Спасибо
РЕДАКТИРОВАТЬ 1
Когда вы говорите, что сделали переменную A как root, я предполагаю, что вы имеете в виду, что вы сделали это в root .profile или что-то в этом роде. -> (да!)
РЕДАКТИРОВАТЬ 2
В этом есть смысл, но есть некоторые проблемы.
Когда я делаю
sudo -i 'echo $A'
Я получаю
-bash: echo $ A: команда не найдена.
Однако когда я это сделаю
su -c 'echo $A'
это возвращает
abcdef
Что не так с
sudo -i 'echo $A'
команда?