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