bb/tool/ln/main.go
2024-05-15 23:07:35 +05:00

38 lines
554 B
Go

package ln
import (
"fmt"
"os"
"surdeus.su/core/cli/mtool"
"path/filepath"
)
func Run(flagSet *mtool.Flags) {
var lflag bool
flagSet.BoolVar(&lflag, "s", false, "make a symbolic link, not a hard one")
flagSet.Parse()
args := flagSet.Args()
if len(args) != 2 {
flagSet.Usage()
os.Exit(1)
}
src := args[0]
dst := args[1]
src = filepath.FromSlash(src)
dst = filepath.FromSlash(dst)
var err error
if lflag {
err = os.Symlink(src, dst)
} else {
err = os.Link(src, dst)
}
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
}