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