143751f27SDavid du Colombier#!/bin/rc 243751f27SDavid du Colombier 343751f27SDavid du Colombierargv0=$0 443751f27SDavid du Colombierforce=n 543751f27SDavid du Colombierwhile(! ~ $#* 0 && ~ $1 -*){ 643751f27SDavid du Colombier switch($1){ 743751f27SDavid du Colombier case -f 843751f27SDavid du Colombier force=y 943751f27SDavid du Colombier case -s 1043751f27SDavid du Colombier ; 1143751f27SDavid du Colombier case * 1243751f27SDavid du Colombier echo 'usage: ln [-s] [-f] source destination' >[2=1] 1343751f27SDavid du Colombier exit 'usage' 1443751f27SDavid du Colombier } 1543751f27SDavid du Colombier shift 1643751f27SDavid du Colombier} 1743751f27SDavid du Colombier 18*2a782499SDavid du Colombier 19*2a782499SDavid du Colombierif(~ $force n && test -e $2 && ! test -d $2){ 2043751f27SDavid du Colombier echo ln: $2 destination exists >[2=1] 2143751f27SDavid du Colombier exit 'usage' 2243751f27SDavid du Colombier} 2343751f27SDavid du Colombier 2443751f27SDavid du Colombierexec cp -gux $1 $2 25