Команда pwd є вбудованою оболонкою та / bin / pwd. За звичайних обставин, вбудований запуск буде надавати перевагу / bin / pwd. Команда PWD можна назвати pwd -L
або pwd -P
Як і вбудований / бен / PWD по замовчуванням pwd -L
на сторінці людини
-L, --логічне використання PWD з навколишнього середовища, навіть якщо воно містить символьні посилання
тому при запуску pwd ви фактично запускаєте pwd -L, який фактично друкує $ PWD (якщо він існує). Під час запуску sudo pwd
sudo надає лише змінні середовища, про які було сказано, що вони передаються через env_keep
директиви. PWD зазвичай не в цьому списку, тому sudo pwd повинен працювати там, де він знаходиться і фактично працює якpwd -P
-П, --фізично уникайте всіх посилань
Спосіб вирішення проблеми - це або використовувати, pwd -P
якщо ви постійно хочете шлях до фізичного каталогу, або (як @Felix) додати PWD до списку змінних оточення, щоб зберігатись через директиву env_keep у sudoers
env_keep += "PWD"