/var# ls -l
lrwxrwxrwx 1 root root 10 Aug 22 13:21 mail -> spool/mail
drwxr-xr-x 2 root root 4096 Jul 1 20:58 opt
drwxr-xr-x 22 root root 4096 Dec 5 17:38 run
drwxr-xr-x 12 root root 4096 Aug 22 13:21 spool
drwxrwxrwt 14 root root 4096 Dec 6 02:46 tmp
/var# cd mail
/var/mail# echo $PWD
/var/mail
/var/mail# pwd
/var/mail
/var/mail# /bin/pwd
/var/spool/mail
Другими словами, достаточно использовать $PWD
, поскольку pwd
может не дать вам лучших результатов (для любого определения лучше).
Почему это так?/bin/pwd
использует специфичные для ОС вызовы для определения текущего рабочего каталога - и в случае Linux ядро сохраняет только разрешенный каталог (см. /proc/self/cwd
), тогда как в pwds оболочки содержится то, что, по мнению оболочки, находится.