Sepertinya mudah untuk menyinkronkan satu file ke file baru di subdirektori .... .... tanpa memindahkan subdirektori. Tetapi sesuatu tentang sintaks membingungkan dan bertentangan dengan apa yang saya harapkan. Berikut ini adalah test case:
mkdir temp
cd temp
mkdir deploy
echo "Contents of the build file!" > deploy/resources.build.php
ln -s deploy/resources.build.php deploy/resources.php
cat deploy/resources.php #bad symlink
Ini hanya membuat symlink yang rusak! Saya menjalankan ini dalam skrip penyiapan lingkungan build, jadi saya ingin menghindari mengubah direktori kerja saat ini jika memungkinkan.
ln -s deploy/resources.build.php resources.php
cat deploy/resources.php
Juga tidak berfungsi karena itu menciptakan symlink di direktori temp daripada subdirektori deploy.
cd deploy
ln -s resources.build.php resources.php
cd ..
Ini berfungsi, tetapi saya lebih suka tahu bagaimana melakukannya tanpa mengubah direktori.
Menggunakan jalur lengkap seperti:
/home/whatever/src/project/temp/stuff/temp/deploy/resources.build.php
Bekerja, tetapi tidak berat dan agak tidak praktis, terutama di lingkungan build di mana semua hal proyek mungkin berbeda antara build, dan sejenisnya.
Bagaimana saya bisa membuat symlink antara dua file dalam subdirektori, tanpa berpindah ke subdirektori itu dan keluar darinya, dan sambil memberikan file baru "alias" nama baru?