Katakanlah saya punya dua jalur: <source_path>
dan <target_path>
. Saya ingin shell saya (zsh) secara otomatis mencari tahu apakah ada cara untuk mewakili <target_path>
dari <source_path>
sebagai jalur relatif.
Misalnya, mari kita asumsikan
<source_path>
aku s/foo/bar/something
<target_path>
aku s/foo/hello/world
Hasilnya adalah ../../hello/world
Mengapa saya membutuhkan ini:
Saya perlu ingin membuat symbolic link dari <source_path>
ke <target_path>
menggunakan relatif symbolic link bila memungkinkan, karena jika server samba kami tidak menunjukkan file dengan benar ketika saya mengakses file-file pada jaringan dari Windows (Saya bukan admin sys, dan don' t memiliki kendali atas pengaturan ini)
Dengan asumsi itu <target_path>
dan <source_path>
merupakan jalur absolut, berikut ini menciptakan tautan simbolik yang menunjuk ke jalur absolut .
ln -s <target_path> <source_path>
jadi tidak berfungsi untuk kebutuhan saya. Saya perlu melakukan ini untuk ratusan file, jadi saya tidak bisa memperbaikinya secara manual.
Adakah shell built-in yang menangani ini?
symlinks
untuk mengonversi tautan absolut ke relatif.