sys

A set of unix utils in hare!
Log | Files | Refs | README

commit 31397fae8956b33f967cf621e135f47865a29e73
parent 875c20f1a60e75a86db46acdc5bec10ded07846a
Author: rosia <willowro@outlook.com>
Date:   Tue, 10 Mar 2026 19:56:16 +0000

adds basic ln command

Diffstat:
MMakefile | 13++++++++-----
Acmd/ln.ha | 15+++++++++++++++
2 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile @@ -1,13 +1,13 @@ .POSIX: .SUFFIXES: HARE=hare -HAREFLAGS=-lc +# HAREFLAGS=-lc DESTDIR= PREFIX=/usr/local BINDIR=$(PREFIX)/bin -all: bin/ls bin/rainbow bin/cat bin/uniq bin/split bin/wc bin/yes bin/mc bin/ed bin/rcsh +all: bin/ls bin/rainbow bin/cat bin/uniq bin/split bin/wc bin/yes bin/mc bin/ed bin/ln clean: rm -rf bin/* @@ -22,9 +22,9 @@ EDSRC != find cmd/ed/ -name *.ha bin/ed: $(EDSRC) $(HARE) build $(HAREFLAGS) -o $@ cmd/ed/ -RCSHSRC != find cmd/rcsh/ -name *.ha -bin/rcsh: $(RCSHSRC) - $(HARE) build $(HAREFLAGS) -o $@ cmd/rcsh/ +# RCSHSRC != find cmd/rcsh/ -name *.ha +# bin/rcsh: $(RCSHSRC) +# $(HARE) build $(HAREFLAGS) -o $@ cmd/rcsh/ bin/ls: cmd/ls.ha $(HARE) build $(HAREFLAGS) -o $@ cmd/ls.ha @@ -50,3 +50,6 @@ bin/yes: cmd/yes.ha bin/mc: cmd/mc.ha $(HARE) build $(HAREFLAGS) -o $@ cmd/mc.ha +bin/ln: cmd/ln.ha + $(HARE) build $(HAREFLAGS) -o $@ cmd/ln.ha + diff --git a/cmd/ln.ha b/cmd/ln.ha @@ -0,0 +1,15 @@ +use os; +use getopt; + +export fn main() void = { + const cmd = getopt::parse(os::args, + "Create a hard link", + "source file", + "link file"); + defer getopt::finish(&cmd); + + let source = cmd.args[0]; + let link = cmd.args[1]; + + os::link(source, link)!; +};