github.com/t-ham752/go-linux@v0.0.0-20230521064409-70f30d2872cc/pkg/cat/cat.go (about)

     1  package cat
     2  
     3  import (
     4  	"fmt"
     5  	"io"
     6  	"os"
     7  )
     8  
     9  func run(args []string, w io.Writer) error {
    10  	if len(args) < 2 {
    11  		return fmt.Errorf("too few arguments")
    12  	}
    13  	for _, arg := range args[1:] {
    14  		file, err := os.Open(arg)
    15  		if err != nil {
    16  			return err
    17  		}
    18  		_, err = io.Copy(w, file)
    19  	}
    20  	return nil
    21  }
    22  func Cat() error {
    23  	err := run(os.Args, os.Stdout)
    24  	if err != nil {
    25  		return err
    26  	}
    27  	return nil
    28  }