Функция exec.LookPath
Функция exec.LookPath ищет исполняемый файл
в директориях, перечисленных в переменной окружения
PATH. Она принимает один параметр - имя файла
для поиска, а возвращает абсолютный путь к найденному
файлу или ошибку, если файл не найден или не является
исполняемым.
Синтаксис
exec.LookPath(file)
Пример
Давайте найдем путь к исполняемому файлу "ls"
в системе:
package main
import (
"fmt"
"os/exec"
)
func main() {
path, err := exec.LookPath("ls")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(path)
}
Результат выполнения кода:
"/bin/ls"
Пример
Давайте попробуем найти несуществующую команду
"unknown":
package main
import (
"fmt"
"os/exec"
)
func main() {
path, err := exec.LookPath("unknown")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(path)
}
Результат выполнения кода:
"exec: \"unknown\": executable file not found in $PATH"
Пример
Давайте проверим, что функция возвращает ошибку, если файл найден, но не является исполняемым:
package main
import (
"fmt"
"os/exec"
)
func main() {
path, err := exec.LookPath("/etc/passwd")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(path)
}
Результат выполнения кода:
"stat /etc/passwd: permission denied"
Смотрите также
-
функцию
exec.Command,
которая создает команду для выполнения внешнего процесса -
функцию
exec.CommandContext,
которая создает команду с контекстом для управления временем выполнения -
функцию
os.Executable,
которая возвращает путь к текущему исполняемому файлу -
функцию
os.Getenv,
которая получает значение переменной окружения