2013-01-10 55 views
0

我正在尋找一個(最好是便攜式)的方式來創建'短'相對符號鏈接。這是兩個絕對的文件名targetname我想找到一個等效和相對短文件名reltarget這樣,經過創建一個最小的符號鏈接

ln -s $target $name 

name指向同一位置後

ln -s $reltarget $name 

一些例子:

target="/usr/bin/program-1.2"; name="/usr/bin/program"; 
=> reltarget="program-1.2" 

target="/usr/lib/program-1.2/bin/program"; name="/usr/bin/program-1.2"; 
=> reltarget="../lib/program-1.2/bin/program" 

回答

1

,如果你有Python的2.6或您的系統上更新這將做到這一點;如果從另一個shell啓動而不是bash啓動,可能需要修改引用。

ln -s "`python -c "import os.path; print os.path.relpath('$target','$name')"`" "$name" 

this的啓發。

+0

我讀了你鏈接的問題,並且可以很容易地將答案轉換爲我的問題。這是最好的選擇。謝謝。 –

相關問題