Powiedz, że mam dwie ścieżki: <source_path>
i <target_path>
. Chciałbym moją skorupę (zsh), aby automatycznie sprawdzić, czy istnieje sposób, aby reprezentować <target_path>
od <source_path>
jako ścieżkę względną.
Np. Załóżmy
<source_path>
jest/foo/bar/something
<target_path>
jest/foo/hello/world
Wynik byłby ../../hello/world
Dlaczego potrzebuję tego:
Musi Lubię tworzyć dowiązania symbolicznego od <source_path>
celu <target_path>
za pomocą względnego łącza symboliczne ile to możliwe, ponieważ w przeciwnym razie nasz serwer Samba nie pokazuje plik poprawnie, gdy dostęp do tych plików w sieci w systemie Windows (nie jestem sys Administrator, i don” mieć kontrolę nad tym ustawieniem)
Zakładając, że <target_path>
i <source_path>
są ścieżki bezwzględne, co następuje tworzy dowiązanie symboliczne wskazujące na bezwzględną ścieżkę .
ln -s <target_path> <source_path>
więc to nie działa na moje potrzeby. Muszę to zrobić dla setek plików, więc nie mogę tego ręcznie naprawić.
Jakieś wbudowane powłoki, które się tym zajmują?
symlinks
do konwersji linków bezwzględnych na względne.