У меня есть оболочка Golang
с функцией FileServer, которую я хочу изменить в каталоге src.
Вот что у меня есть:
func Server() {
wdir, _ := os.Getwd()
m := http.NewServeMux()
fs := http.FileServer(http.Dir(wdir))
m.Handle("/", http.StripPrefix("/", fs))
s := http.Server{Addr: ":8000", Handler: m}
m.HandleFunc("/shutdown", func(w http.ResponseWriter, r *http.Request) {
s.Shutdown(context.Background())
})
if err := s.ListenAndServe(); err != nil && err != http.ErrServerClosed {
log.Fatal(err)
}
log.Printf("Finished")
}
У меня так, чтобы, если я доберусь до shutdown
, FileServer закрывается.
Но независимо от того, с какого пути я запускаю Server()
, путь всегда остается одним и тем же.
Так что, если из оболочки I cd
в другую папку и запустить Server()
, я все равно получу файлы из каталога, где находится исполняемый файл.
Я хочу, чтобы при запуске оболочки из /home/user/Downloads/shell
и внутри оболочки I cd
в /opt
файлы, отображаемые на сервере, находились в /opt
, а не в /home/user/Downloads/shell