O comando pwd é um shell interno e / bin / pwd. Em circunstâncias normais, o builtin será executado em preferência a / bin / pwd. O comando pwd pode ser chamado como pwd -L ou pwd -P Tanto o padrão incorporado como / bin / pwd para pwd -L da página man
-L, --logical use PWD from environment, even if it contains symlinks
então, quando você executa o pwd, você executa pwd -L, que na verdade imprime $ PWD (se existir). Quando você executa sudo pwd , o sudo fornece apenas as variáveis de ambiente que foram instruídas a passar através das diretivas env_keep . Normalmente, o PWD não está nessa lista, portanto, o sudo pwd precisa descobrir onde está e, na verdade, é executado como pwd -P
-P, --physical avoid all symlinks
A maneira de resolver o problema é usar pwd -P se você deseja consistentemente o caminho do diretório físico ou (como @Felix diz) adicionar o PWD à lista de variáveis de ambiente para manter por meio de uma diretiva env_keep em sudoers
env_keep += "PWD"