Sim, a diferença está na ordem de processamento ..
e links simbólicos.
Veja um exemplo de como isso pode fazer a diferença. Eu tenho um disco externo montado em /root/Archives
e um link simbólico apontando para ele da minha casa:
$ pwd
/home/katsura
$ ls -ld Archives
lrwxrwxrwx 1 root root 14 Oct 23 2013 Archives -> /root/Archives
realpath
resolve o link simbólico:
$ realpath Archives
/root/Archives
$ realpath -L Archives
/root/Archives
No entanto:
$ realpath Archives/../foo
/root/foo
$ realpath -L Archives/../foo
/home/katsura/foo
Sem opção (ou com -P
), o link simbólico é resolvido primeiro, então Archives
se torna /root/Archives
, então ..
é aplicado.
Com -L
o ..
é aplicado primeiro, então Archives/..
se torna /home/katsura
, então os links simbólicos restantes são resolvidos. Como não há mais links simbólicos, o resultado é apenas /home/katsura
.