То, что вы видите, это тот факт, что $PATH раскрывается в оболочке первого пользователя во время обработки аргумента перед запуском команды su(1) , так что похоже, что это происходит всегда. Если вы используете жесткие кавычки ('echo $PATH'), вы должны увидеть что-то другое или просто сделать \$ .
Это сохранит синтаксис $PATH до тех пор, пока не выполнится команда su(1) . Хотя обычно он не взаимодействует со средой, он запускает новую оболочку, поэтому вы должны проверить наличие строк PATH= в различных сценариях запуска оболочки.
Ваш su(1) имеет опцию -c , так что вы, похоже, работаете в Linux. На Mac или BSD вы получите упрощенный PATH вместо входа в PATH , но вы по- прежнему имеют те же « , когда я расширить PATH?"вопрос.