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