main
 1package main
 2
 3import (
 4	"fmt"
 5	"os"
 6	"path/filepath"
 7)
 8
 9func main() {
10	arguments := os.Args
11	if len(arguments) == 1 {
12		fmt.Println("Please provide an argument!")
13		return
14	}
15
16	pathes := filepath.SplitList(os.Getenv("PATH"))
17	for _, exe := range arguments[1:] {
18		for _, directory := range pathes {
19			fullPath := filepath.Join(directory, exe)
20			fileInfo, err := os.Stat(fullPath)
21			if err == nil {
22				mode := fileInfo.Mode()
23				if mode.IsRegular() {
24					if mode&0111 != 0 {
25						fmt.Println(fullPath)
26					}
27				}
28			}
29		}
30	}
31}