Sebuah symlink sebenarnya menyimpan path yang Anda berikan secara literal, sebagai string¹. Itu berarti tautan Anda ~/mylink
mengandung " .
" (satu karakter). Saat Anda mengakses tautan, jalur itu ditafsirkan relatif terhadap di mana tautan itu berada, dan bukan di mana Anda berada saat Anda membuat tautan itu.
Sebagai gantinya, Anda dapat menyimpan jalur aktual yang Anda inginkan di tautan:
ln -s "$(pwd)" ~/mylink
menggunakan substitusi perintah untuk memasukkan output pwd
(nama direktori kerja) ke dalam baris perintah Anda. ln
melihat path lengkap dan menyimpannya ke symlink Anda, yang kemudian akan menunjuk ke tempat yang tepat.
¹ Lebih atau kurang.
"$PWD"
di kerang POSIX dan~0
dizsh
.