diff --git a/sleeper/.gitignore b/sleeper/.gitignore new file mode 100644 index 0000000..78987d7 --- /dev/null +++ b/sleeper/.gitignore @@ -0,0 +1,2 @@ +sleeper +sleeper.exe diff --git a/sleeper/Makefile b/sleeper/Makefile new file mode 100644 index 0000000..bea7546 --- /dev/null +++ b/sleeper/Makefile @@ -0,0 +1,4 @@ + + +build: + go build . diff --git a/sleeper/go.mod b/sleeper/go.mod new file mode 100644 index 0000000..2db37a5 --- /dev/null +++ b/sleeper/go.mod @@ -0,0 +1,3 @@ +module lcthw.dev/go/go-coreutils/sleeper + +go 1.25.3 diff --git a/sleeper/main.go b/sleeper/main.go new file mode 100644 index 0000000..b65cd24 --- /dev/null +++ b/sleeper/main.go @@ -0,0 +1,28 @@ +package main + +import ( + "fmt" + "time" + "flag" + "log" +) + +func main() { + wait_for := "1s" + message := "test" + + flag.StringVar(&wait_for, "d", "1s", "go time duration to parse") + flag.Parse() + + if flag.NArg() > 0 { + message = flag.Args()[0] + } + + for { + to_wait, err := time.ParseDuration(wait_for) + if err != nil { log.Fatal(err) } + + time.Sleep(to_wait) + fmt.Println(message) + } +}