22 lines
473 B
Plaintext
22 lines
473 B
Plaintext
|
#! /usr/bin/env python3
|
||
|
|
||
|
# Create a *relative* symlink, just like ln --relative does but without needing
|
||
|
# coreutils 8.16.
|
||
|
|
||
|
import sys, os
|
||
|
|
||
|
if len(sys.argv) != 3:
|
||
|
print("$ lnr TARGET LINK_NAME")
|
||
|
sys.exit(1)
|
||
|
|
||
|
target = sys.argv[1]
|
||
|
linkname = sys.argv[2]
|
||
|
|
||
|
if os.path.isabs(target):
|
||
|
if not os.path.isabs(linkname):
|
||
|
linkname = os.path.abspath(linkname)
|
||
|
start = os.path.dirname(linkname)
|
||
|
target = os.path.relpath(target, start)
|
||
|
|
||
|
os.symlink(target, linkname)
|