0

「短い」相対シンボリックリンクを作成するための(できればポータブルな)方法を探しています。これは2つの絶対ファイル名の場合であり、次のような同等の短い相対ファイル名を見つけたいと思いますtargetnamereltarget

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"
4

1 に答える 1

1

これは、システムにPython2.6以降がインストールされている場合に実行されます。bash以外のシェルから起動する場合は、引用符を変更する必要がある場合があります。

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

これに触発されました

于 2013-01-10T20:03:34.673 に答える