Лучшее, что я могу сказать, что здесь происходит, это то, что на втором проходе команда ln
ведет себя как cp
или mv
, то есть, если он видит «каталог» в <назначение>, он помещает файл внутрь него, иначе, если <назначение> не существует, он создает <назначение>. (это то, чего избегает трюк с "slashdot" - то есть он гарантирует, что
Но я могу ошибаться.
В любом случае это работает
ln -sfv --no-dereference /tmp/test_symlink/repo/resources/snippets/ foo/snippets